1
我有一个子组件(一个提交按钮),我想将它放在父项中。我想让孩子访问父母的方法。无法将父方法传递给React中的子组件
儿童:
var SubmitButton = React.createClass({
submitHandler: function(e) {
e.preventDefault();
this.props.submitHandler(e);
},
render: function() {
return (
<div className="Form--row">
<button onClick={this.submitHandler}>Submit</button>
</div>
);
}
});
现在,当我叫孩子这个样子,它的工作原理:
var Form = React.createClass({
submitHandler: function(e) {
// do something
},
render: function() {
return(
<div className={classNames}>
<form action="" className="Form">
<SubmitButton submitHandler={this.submitHandler}/>
</form>
</div>
)
}
});
但是,当我尝试填充这个样子,它抛出一个错误:
render: function(e) {
return(
<div className={classNames}>
<form action="" className="Form">
{this.props.map(function(input) {
if (input.inputType == 'button') {
return <SubmitButton submitHandler={this.submitHandler}/>;
}
})
}
</form>
</div>
)
}
错误:
Uncaught TypeError: Cannot read property 'submitHandler' of undefined
我想使第二种方法的工作,以便我可以使用随机孩子填充父项。我在第二个片段中做错了什么?