我有下一个组件'Father',其中包含React js中的'Children'组件。
var Father = React.createClass({
render: function () {
return (
<div>
<Children/>
</div>
);
},
onUpdate: function(state) {
this.setState(state);
} });
我想从子节点调用父节点上的onUpdate函数而不调用'Children'方法'componentDidUpdate',因为我正在使用该方法来破坏我的应用程序。
我该怎么做?
答案 0 :(得分:0)
将其传递给属性。如果您只需更新特定部分并阻止您的孩子更新,请使用方法shouldComponentUpdate
var Father = React.createClass({
render: function () {
return (
<div>
<Children onUpdateCallback={this.onUpdate}/>
</div>
);
},
onUpdate: function(state) {
this.setState(state);
}
});
var Child = React.createClass({
render: function () { ... },
shouldComponentUpdate: function (prevProps, prevState) { ... return false}
});
如果你的孩子在父母的帮助下无法更新,我认为你可能做错了什么,但祝你好运。