Javascript React.js passing=>在道具中
跟进这个问题,但应该有一个单独的线程 我想知道如何在调用组件时使用=>而不传入确切的输入名称,这应该由组件内部填充: 组成部分:Javascript React.js passing=>在道具中,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,跟进这个问题,但应该有一个单独的线程 我想知道如何在调用组件时使用=>而不传入确切的输入名称,这应该由组件内部填充: 组成部分: 只需向函数传递一个参数 <FormFields unamepwd={this.state} handleChange={(fieldName) => self.handleChange(fieldName)} updateChanges={self.updateToServer} /> 您可以在函数handlingonchange事件中使
只需向函数传递一个参数
<FormFields unamepwd={this.state}
handleChange={(fieldName) => self.handleChange(fieldName)} updateChanges={self.updateToServer} />
您可以在函数handlingonchange事件中使用e.target来获取对触发事件的输入的引用。因此,只传递对周围handleChange函数的引用,不需要{x=>handleChange'name}或{handleChange.bind'name}或其他任何东西
var FormFields = React.createClass({
render: function() {
const upwd = this.props.unamepwd;
return(
<form>
Username: <input value={upwd.username}
onChange={this.props.handleChange} name="username" /><br />
Password: <input type="password" value={upwd.password}
onChange={this.props.handleChange} name="password" />
<button onClick={this.props.updateChanges}>Go!</button>
</form>
);
}
});
var Parent = React.createClass({
handleChange(e){
console.log( e.target.name );
},
render(){
return <FormFields handleChange={ this.handleChange } />
}
});
<FormFields unamepwd={this.state}
handleChange={() => self.handleChange('username')} updateChanges={self.updateToServer} />
<FormFields unamepwd={this.state}
handleChange={(fieldName) => self.handleChange(fieldName)} updateChanges={self.updateToServer} />
this.props.handleChange('password')
var FormFields = React.createClass({
render: function() {
const upwd = this.props.unamepwd;
return(
<form>
Username: <input value={upwd.username}
onChange={this.props.handleChange} name="username" /><br />
Password: <input type="password" value={upwd.password}
onChange={this.props.handleChange} name="password" />
<button onClick={this.props.updateChanges}>Go!</button>
</form>
);
}
});
var Parent = React.createClass({
handleChange(e){
console.log( e.target.name );
},
render(){
return <FormFields handleChange={ this.handleChange } />
}
});