所以我只是出于好奇,
任何人都找到了一种聪明的方法来处理受控组件(输入,选择……)中的双向数据绑定,而无需编写以下所有内容:
getInitialState: function() { return {value: 'Hello!'}; },handleChange: function(event) { this.setState({value: event.target.value}); },render: function() { var value = this.state.value; return <input type="text" value={value} onChange={this.handleChange} />; }
您可能需要阅读文档中的“双向绑定助手”部分:
http://facebook.github.io/react/docs/two-way-binding-helpers.html
http://facebook.github.io/react/docs/two-way-binding-helpers.html
有这个LinkedStateMixin:
var NoLink = React.createClass({ getInitialState: function() { return {message: 'Hello!'}; },handleChange: function(event) { this.setState({message: event.target.value}); },render: function() { var message = this.state.message; return <input type="text" value={message} onChange={this.handleChange} />; } }); var WithLink = React.createClass({ mixins: [React.addons.LinkedStateMixin],getInitialState: function() { return {message: 'Hello!'}; },render: function() { return <input type="text" valueLink={this.linkState('message')} />; } });