Tengo dificultades para entender la siguiente sintaxis de ES6. Leí bastante los documentos y parece que hay más de un cambio aquí:
const renderInput = props => <div> <label>{props.placeholder}</label> </div>Lo anterior sería equivalente a:
const renderInput = function renderInput(props) { return <div> <label>{props.placeholder}</label> </div> }?
Si, eso es correcto. Cuando solo tiene una expresión y es la expresión que desea obtener de la función, puede omitir las llaves.
Dado que <div><label>{props.placeholder}</label></div> es, de hecho, una sola expresión (se transpila a React.createElement(......) o algo así), y desea devolverlo desde renderInput , así es como usa la versión sin corchetes de la función de flecha.
Si hubiera deseado utilizar variables o realizar algún otro cálculo (condiciones, bucles for, etc.), no habría podido omitir los corchetes.