React和Redux - ComponentDidUpdate异步?

时间:2016-11-19 16:38:13

标签: javascript reactjs redux

我正在学习React和Redux,我正在做一个基本的ToDo列表。

我遇到dispatch的问题。

我将componentDidUpdate = () => { if (this.props.todoDelted) { this.refreshTodoList() } } 上的一行删除为redux操作,然后在componentDidUpdate中等待更改道具,如:

props

问题是,还有另一个todoDelted正在更新,prevProps是第一个更新。当我与undefined进行比较时,todoDeleted总是this.refreshTodoList(),因为它只更新了一次。

如何只运行一次#render(),而不是每次更新道具?

1 个答案:

答案 0 :(得分:0)

实际上没有必要使用componentDidUpdate方法。

dispatch方法返回Promise,因此您可以编写如下内容:

this.props.dispatch(someAction(payload)).then(this.refreshTodoList);

您的功能只会被调用一次。