【发布时间】:2016-02-02 22:24:42
【问题描述】:
我想编写一个表单组件,它可以导出一个方法来验证其子级。不幸的是,表单没有“看到”其子级的任何方法。
以下是我如何定义 Form 的潜在子代:
var Input = React.createClass({
validate: function() {
...
},
});
下面是我如何定义 Form 类:
var Form = React.createClass({
isValid: function() {
var valid = true;
this.props.children.forEach(function(component) {
// --> This iterates over all children that I pass
if (typeof component.validate === 'function') {
// --> code never reaches this point
component.validate();
valid = valid && component.isValid();
}
});
return valid;
}
});
我注意到我可以使用 refs 调用子组件上的方法,但我不能通过 props.children 调用方法。
这种 React 行为是否有原因?
我该如何解决这个问题?
【问题讨论】:
标签: javascript reactjs