Preguntas frecuentes
›¿Por qué JSX necesita className en lugar de class?
JSX se compila a JavaScript, donde class es una palabra reservada, así que React usa los nombres de las propiedades del DOM: className, htmlFor, tabIndex, readOnly… El conversor los renombra todos, incluidos los atributos SVG como stroke-width (strokeWidth).
›¿Qué pasa con los onclick en línea?
Se convierten en funciones flecha con el mismo código, por ejemplo onClick={() => { save() }}, y un aviso te recuerda llevar esa lógica al componente.
›¿Qué hace la opción defaultValue?
En React, value y checked convierten el campo en controlado y necesitan un manejador onChange. Con la opción activada pasan a defaultValue y defaultChecked, que mantienen el comportamiento del HTML.