Renaming exported custom attributes
Similar to how it renames exported components and props, DevLink now renames or filters out exported custom attributes to ensure that the exported React code is valid.
- HTML5 standard names such as
tabindexandmaxlengthare capitalized according to React standards, in this exampletabIndexandmaxLength - Attributes that have a React equivalent, such as
classandfor, are converted to the React equivalent, in this exampleclassNameandhtmlFor - Attributes that match event handler names such as
onClickandonMouseOverare filtered out, regardless of case - Attributes that start with numbers are filtered out
- Attributes that are incomplete, such as
data-andaria-are filtered out - Attributes named with an empty string are filtered out
- Attributes containing invalid characters, such as
my-😀-attr, are filtered out - Any other invalid HTML5 attributes are filtered out
DevLink prints a warning to your CLI console, and adds JSDoc Invalid Attribute comments, when it filters out attributes due to these rules, except when removing attributes with an empty string as their name.
For example, this exported code shows a warning about a custom attribute that was filtered out:
For more information, see What DevLink Exports.