我有一些組件。該組件包含方法「componentWillReceiveProps」。 該方法大致包含的邏輯:將邏輯轉換爲新動作
componentWillReceiveProps(nextProps) {
if (this.props.someObject.obj1.prop1 != nextProps.someObject.obj1.prop1
|| this.props.someObject.obj2.prop2 != nextProps.someObject.obj2.prop2) {
this.props.doAction1(nextProps.someObject);
}
//any code
}
的 「this.props.doAction1」 - 是動作。
如果我創建新動作並將此邏輯轉換爲新動作,可以嗎?
例如:
function newAction(current, new){
if (current.obj1.prop1 != new.obj1.prop1
|| current.obj2.prop2 != new.obj2.prop2) {
doAction1(new);
}
}
並修改componentWillReceiveProps:
componentWillReceiveProps(nextProps) {
this.props.newAction(this.props.someObject, nextProps.someObject);
//any code
}