我正在读书关于“onChange”的文档 http://facebook.github.io/react/docs/forms.html#controlled-components我很好奇如果我的论坛有多个字段(如选择框、复选框、文本区域和输入)我会做什么?我是否只是做类似的事情:
getInitialState: function() {
return {textArea: 'Hello!', input: 'World', ...};
},
到初始状态,然后使用相同的概念来处理该字段的变化?
@FakeRainBrigand 的回答非常酷。
我想分享一个 JavaScript 风格的(使用高阶函数),更短:
/** @jsx React.DOM */
var App = React.createClass({
getInitialState: function () {
return {
username: '',
password: ''
}
},
handleChange: function (key) {
return function (e) {
var state = {};
state[key] = e.target.value;
this.setState(state);
}.bind(this);
},
render: function(){
console.log(JSON.stringify(this.getFormData(), null, 4));
return (
<div>
<form>
Username: <input
value={this.state.username}
onChange={this.handleChange('username')} />
<br />
Password: <input type="password"
value={this.state.password}
onChange={this.handleChange('password')} />
</form>
<pre>{JSON.stringify(this.getFormData(), null, 4)}</pre>
</div>
);
}
});
React.renderComponent(<App />, document.body);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)