React v0.12/v0.13: Sto riscontrando un problema con un elemento che mi piacerebbe avere renderizzato sia sul server che nel client (isomorfo). Ecco un esempio che attualmente ricrea il problema:Rendering <opzione value = "foo" selezionato> sul server
const React = require("react");
const SelectedDebug = React.createClass({
displayName: "SelectedDebug",
render() {
return (
<div>
<select value="C">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</div>
);
}
});
module.exports = SelectedDebug;
L'attributo selected
non sia reso sul server, ma funziona bene nel browser.
Ho anche provato a impostare il puntello defaultValue
sull'elemento <select>
, che non sembra fare la differenza. È funziona quando uso <option value="C" selected>
, tuttavia, che genera un avvertimento nella console che mi dice di utilizzare il value
o defaultValue
prop.
La documentazione descrive anche il comportamento desiderato: https://facebook.github.io/react/docs/forms.html#why-select-value
Questo codice è in esecuzione in Nodo v0.12 utilizzando babel-core per transpiling.
Si tratta di un errore o mi manca qualcosa?
Aggiornamento: Questo è un bug in React. Vedi il mio commento/link qui sotto.
Apparentemente, si tratta di un bug noto: https://github.com/facebook/react/issues/3594. (Non ho intenzione di cancellare questo, in quanto potrebbe aiutare qualcuno che sta cercando su Google questo bug, e dato che Facebook continua a chiudere il problema su GitHub.) – Marius
Sembra che il bug * appena * sia stato risolto: https://github.com/ facebook/react/pull/3595 –
Wow, è stato veloce MrGreen Grazie per avermelo fatto notare, @insin. – Marius