在服务器上渲染<option value ="foo"selected>

Mar*_*ius 5 javascript node.js reactjs babeljs

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;
Run Code Online (Sandbox Code Playgroud)

该selected属性未在服务器上呈现,但在浏览器中正常工作.

我也试过defaultValue在<select>元素上设置道具,这似乎没什么区别.它不工作的时候使用<option value="C" selected>,然而,抛出一个警告,在控制台告诉我请使用value或defaultValue道具.

该文档还描述了所需的行为:https://facebook.github.io/react/docs/forms.html#why-select-value

此代码在Node v0.12中运行,使用babel-core进行转换.

这是一个错误,还是我错过了什么?

更新:这是React中的一个错误.请参阅下面的评论/链接.

Jon*_*nan 3

这是一个已知的错误,已在 master 中修复,因此可能会随着 React 0.14 的发布而修复。