怎么检查是数据完成更新然后做其他事情(REACTJS + REDUX)

问题描述 投票:0回答:2

现在我通过使用'componentWillRecieveProps'来检查Redux状态的'nextProps'是否完成。

像这个例子,

if (!nextProps.a.update && !nextProps.a.error &&
  nextProps.a.update !== this.props.a.update) {
  const oldData = [...this.props.a.data];
  const newData = [...nextProps.a.data];
        .
        .
        .
  });
}
}

有没有人有另一个好主意来检查它?

谢谢。

reactjs redux react-redux redux-saga side-effects
2个回答
0
投票

如果您正在使用Redux-saga或thunk等任何中间件,您可以检查是否已从中间件本身进行更新,并且一旦更新,您就可以从中间件本身发送操作并获得通知。不确定你的情况多少合适。


0
投票

这真的取决于。 1.如果你想要实现的逻辑,仅针对相同的组件,并且一次只从一个调度的动作,那么使用标志肯定是好的,在'将更新'时设置为true,在'更新'时设置为false (必要时适用于mount)。 2.如果逻辑是基于少量动作,那么可能使用promise创建一个膨胀机制会更好。再次,取决于你的逻辑。也许为每种类型的更新使用标志就足够了。 3.如果逻辑是系统范围的,我会使用全局变量,甚至可能在'window'上设置。例如,我想实现一个名为'isLoading'的变量,它将定义是否存在任何挂起的ajax调用。

如果这是你一直在寻找的,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.