5

React v0.12/v0.13:<select>サーバーとクライアント (同型) の両方でレンダリングしたい要素に問題があります。現在問題を再現している例を次に示します。

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;

属性はselectedサーバーではレンダリングされませんが、ブラウザーでは正常に機能します。

defaultValueまた、要素にプロップを設定しようとしまし<select>たが、違いはないようです。ただし、を使用すると機能<option value="C" selected>しますが、コンソールに警告がスローされ、valueまたはdefaultValueプロップのいずれかを使用するように指示されます。

ドキュメントでは、望ましい動作についても説明しています: https://facebook.github.io/react/docs/forms.html#why-select-value

このコードは、トランスパイルにbabel-coreを使用してノード v0.12 で実行されています。

これはバグですか、それとも何か不足していますか?

更新:これは React のバグです。以下の私のコメント/リンクを参照してください。

4

1 に答える 1