【发布时间】:2015-06-10 03:55:51
【问题描述】:
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 属性不会在服务器上呈现,但在浏览器中可以正常工作。
我还尝试在 <select> 元素上设置 defaultValue 属性,这似乎没有什么不同。当我使用<option value="C" selected> 时,它确实工作,但是,这会在控制台中引发警告,告诉我使用value 或defaultValue 属性。
文档还描述了所需的行为:https://facebook.github.io/react/docs/forms.html#why-select-value
此代码在 Node v0.12 中运行,使用 babel-core 进行转译。
这是一个错误,还是我遗漏了什么?
更新:这是 React 中的一个错误。请参阅下面的评论/链接。
【问题讨论】:
-
显然,这是一个已知的错误:github.com/facebook/react/issues/3594。 (我不会删除这个,因为它可能会帮助那些在谷歌上搜索这个错误的人,而且因为 Facebook 一直在 GitHub 上关闭这个问题。)
-
看起来这个错误刚刚得到了修复:github.com/facebook/react/pull/3595
-
哇,真快 :-D 谢谢你告诉我,@insin。
-
@insin - 你能补充一个答案吗,在列表中看到这个问题的人可能会认为这个问题还没有解决方案?
标签: javascript node.js reactjs babeljs