等待 componentDidMount 中的 redux props



我想在componentDidMount中从我的API端点加载一些东西,但这需要将Redux存储中的其他内容传递到其中。

问题是,似乎在从 redux 填充 props 之前,组件 DidMount 被触发,因此 jwt 身份验证令牌尚未处于 redux 状态,并且我收到 401 错误。

如何让代码等待 redux 状态加载,然后调用函数,或者让它每循环一次,比如说 500 毫秒,直到识别出 props?

如果除了componentDidMount之外还有其他地方,我应该把它放在我愿意接受建议的地方。

您可以使用componentWillReceiveProps生命周期方法来跟踪传入的道具。

componentWillReceiveProps(nextProps){
if(this.props.auth.token !== nextProps.auth.token){
//make a api call here
}
}

您可以等待身份验证令牌获取值。 例如,您可以显示进度指示器,直到它获得值。如果它收到一个值,则显示带有组件DidMount的组件。

render() {
const {authToken} = this.props;
return (
<div> 
{!authToken && ProgressIndicator}
{authToken && ComponentWithApiFetch}
</div> 
)
}

最新更新