在通过API分派操作以创建新对象后,它会在mapStateToProps
上将其返回。
在componentDidUpdate
回调中,我能够将对象映射到props并打开传递它的详细信息屏幕。问题是,当我返回并尝试创建一个新对象(只需填写表格)时,它会不断使用props中最近创建的对象来调用componentDidUpdate(因为我使用用户键入的内容和{{1}设置状态}仍然在那里。
是否存在另一个生命周期,我无法在道具或其他逻辑中获得任何垃圾?
我的调度动作:
this.props.deck
我的减速器的一部分:
this.props.createDeck(deckToBeCreated) // dispatch an action to create a deck
如果成功,我将在此处获得由API创建的这个牌组对象:
case ADD_NEW_DECK_SUCCESS:
return {
...state,
deck: action.deck,
}
答案 0 :(得分:1)
您可以设置ComponentDidUpdate()
,使其仅在获得更新的道具时运行。
ComponentDidUpdate(prevProps){
if(prevProps.deck !== this.props.deck){
//do something
}
}
这样,生命周期事件就不会继续触发。因此,您应该能够自由浏览而不用担心组件事件。