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>有效,这会在控制台中引发警告,告诉我使用valueordefaultValue道具。

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

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

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

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

4

1 回答 1

3

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

于 2015-04-23T19:37:58.407 回答