通过redux进行状态更改时收听 - ReactJS

时间:2017-02-16 13:09:36

标签: reactjs redux

我是reactjs框架的新手,如果在API调用后状态发生变化,那么在侦听的正确方法中我会有一些困惑。

通过then致电catch后,

使用actioncomponentDidUpdate

componentDidMount(){
        this.props.getHero(this.props.params.id).then((result) => {
            this.props.initialize({
                "name":result.name,
                "description": result.description
            });
        })
        .catch(error => {

        });
    }

或通过componentWillUpdate

// Call the getHero action (API)
componentDidMount(){
    this.props.getHero(this.props.params.id);
}

// Then listen if the state change via `mapToStateProps`
componentDidMount(){
    this.props.getHero(this.props.params.id);
}
componentWillUpdate(){
        this.props.initialize({
            "name":this.props.heroes.name,
            "description": this.props.heroes.description
        });
    }

1 个答案:

答案 0 :(得分:2)

收听componentWillUpdate

中的更改
  

在呈现新的道具或状态时,会立即调用componentWillUpdate()。 将此作为在更新发生之前执行准备的机会。初始渲染不会调用此方法。

componentDidMount

中加载数据
  装载组件后立即调用
componentDidMount()。需要DOM节点的初始化应该放在这里。 如果您需要从远程端点加载数据,这是实例化网络请求的好地方。在此方法中设置状态将触发重新渲染。