只有在状态发生变化时才开始行动?

时间:2017-05-10 18:09:03

标签: javascript reactjs redux

我的州是一个相当大的对象,但为了简单起见,只是假装它是这样的:

{
    otherStuff: {},
    currUser: {
      name: 'John',
      age: 20,
      location: 'NY'
    }
}

如果saveUser(user)内的任何信息自上次currUser完成后发生变化,我只想执行saveUser次操作。做这个的最好方式是什么?我应该在那时保存状态然后再进行比较吗?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

遵循此(假设您使用的是redux)

1)在任何反应组件中执行currUser的mapStateToProps(例如,'登录')

2)在Login类中,在componentWillReceiveProps下,将this.props与nextProps进行比较,看看你的currUser对象是否正在改变

3)如果是,则触发saveUser操作。

如果您根据以下评论提出要求:

非常简单,在提交处理程序中,t

1)将操作导入到所需的表单组件

2)在mapstatetoprops中做bindActionCreators,希望你使用Redux / store状态

3)在提交处理程序中使用this.props.YourAction。

这适用于你吗?