我想编写一个可以导出方法来验证其子项的 Form 组件。不幸的是,一个 Form 没有“看到”它的孩子的任何方法。
以下是我如何定义 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 行为是否有原因?
我怎样才能解决这个问题?