【发布时间】:2014-07-03 04:08:43
【问题描述】:
我正在尝试按照以下官方教程在 React.js 框架中重现一个简单的双向绑定示例:"Two-Way Binding Helpers"。
我创建了一个“MyCheckbox”组件,如下所示:
var MyCheckbox = React.createClass({
mixins: [React.addons.LinkedStateMixin],
getInitialState: function () {
return {
fieldname: '',
value: this.props.value
};
},
render: function () {
var valueLink = this.linkState('value');
var me = this;
var handleChange = function (e) {
valueLink.requestChange(e.target.value === 'on');
};
return React.DOM.input({
type: 'checkbox',
checked: valueLink.value,
onChange: handleChange,
});
}
});
“MyCheckbox”的呈现方式如下:
React.renderComponent(MyCheckbox({
value: false
}), document.body);
第一次渲染时,一切正常,如果值为true,复选框将被选中,如果值为false则不会。
如果将复选框初始化为未选中,然后选中它,一切正常。
点击复选框取消选中时,
e.target.value始终处于“开启状态”的问题。我还想问一下ReactLink Without LinkedStateMixin 和ReactLink Without valueLink 的数据绑定方法有什么区别?
有什么想法吗?
我使用最新的 React.js 版本 (v0.10.0)。
【问题讨论】:
标签: javascript data-binding reactjs