Prop names like
type (as in
<input type="text" />) aren't syntactically valid;
type is a reserved keyword in Reason/OCaml. Use
<input type_="text" /> instead. This follows BuckleScript's name mangling rules.
aria-*: use the camelCased
ariaLabel. For DOM components, we'll translate it to
aria-label under the hood.
data-*, this is a bit trickier; words with
- in them aren't valid in Reason/OCaml. When you do want to write them, e.g.
<div data-name="click me" />, use
cloneElement as a workaround.
For non-DOM components, you need to pick valid prop names.