> Migrate from onChange to onInput... It has been confusing that React uses a different event name for what's known as input event in the DOM.
This change is at least somewhat warranted, as it makes things more consistent with the DOM.
What are the reasons for `className->class`, `htmlFor->for` besides the "it's longer to type" when the many downsides to the decisions have been spelled out in no uncertain detail in the issue?
It can't be "We're already allowing passing class down to the DOM node in React 16" because you're confusing a bad decision (allowing `class`) with requirements for the change ("we now have to change className to class"). Honestly, the whole className->class lacks any real justification.
So yes, to quote yourself:
> using a React component should feel like idiomatic JavaScript.
Idiomatic Javascript is:
- no reserved words as variable names (`class` and `for` are reserved words)
- className, htmlFor etc. because that's what they are in Javascript
- in your insistence that everything needs to be camelCase you forget that `className` and `htmlFor` are already camelCase
So the main issue you seem to have is this:
> React Is Not Just Setting Properties
^ this is what causes all the problems, and this is what needs to change. Not additional confusion where "idiomatic Javascript" somehow ends up having to use reserved words and workarounds for those reserved words.
This change is at least somewhat warranted, as it makes things more consistent with the DOM.
What are the reasons for `className->class`, `htmlFor->for` besides the "it's longer to type" when the many downsides to the decisions have been spelled out in no uncertain detail in the issue?
It can't be "We're already allowing passing class down to the DOM node in React 16" because you're confusing a bad decision (allowing `class`) with requirements for the change ("we now have to change className to class"). Honestly, the whole className->class lacks any real justification.
So yes, to quote yourself:
> using a React component should feel like idiomatic JavaScript.
Idiomatic Javascript is:
- no reserved words as variable names (`class` and `for` are reserved words)
- className, htmlFor etc. because that's what they are in Javascript
- in your insistence that everything needs to be camelCase you forget that `className` and `htmlFor` are already camelCase
So the main issue you seem to have is this:
> React Is Not Just Setting Properties
^ this is what causes all the problems, and this is what needs to change. Not additional confusion where "idiomatic Javascript" somehow ends up having to use reserved words and workarounds for those reserved words.