2015-04-05 12 views
5

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.

+0

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

+0

Sembra che il bug * appena * sia stato risolto: https://github.com/ facebook/react/pull/3595 –

+0

Wow, è stato veloce MrGreen Grazie per avermelo fatto notare, @insin. – Marius

risposta

3

Questo è un known bug che è stato fixed in master, quindi verrà presumibilmente corretto con il rilascio di React 0.14.

Problemi correlati