组件内部调度显示异步行为



我正在为一个在线课程项目编写一个 React 代码,但卡在调度操作上

class Burger extends Component{
componentWillMount(){
this.props.init() //dispaching action so to make a boolean variable "Purchased" false
}
render(){
console.log(purchased)  //it is still true ;
}
}

所以我担心的是,即使通过组件将安装购买的变量仍然是正确的。我的变量的值确实发生了变化,但在渲染组件之后。

我基本上得到了一种带有调度异步行为类型,其中我的变量值发生了变化,但在渲染函数之后

请帮忙

附言我有我的 redux 存储、动作、化简器都配置正确。我只想知道为什么它不起作用。

这是我的减速器

case (actionTypes.PURCHASE_INIT) :{
return{
...state,
purchased : false,
}
}

我可以建议的几件事:-

  1. 请在 chrome 中使用 Redux 开发工具,看看发生了什么。

  2. 不要使用 componentWillMount 而是使用 componentDidMount,然后在调度此操作后检查,查看状态是否更新并在容器组件中的 mapStateToProps 上打印相同的变量,然后在渲染函数中打印相同的变量,以便按顺序跟踪它

最新更新