1.目的:
点击按钮后, 想把按钮设置为loading状态, 并记录下点击按钮的时间.
然后, dispatch一个action, 用来异步请求数据.数据拿到后, 可将按钮的loading状态取消
代码如下:
handleBtnClick = ()=>{
this.setState({
btnLoading:true,
startTime:new Date()
});
this.props.dispatch({
type: 'someEffect',
payload:{...}
})
}
实际发现, dispatch后, 之前的setState操作没有作用.
2.调试:
看上去是dispatch过程让setState无效了, 请大家提供下调试思路吧?
dispatch在哪里调用比较合适?
@sorrycc
用redux Devtool看下someEffect是否改了同个state
this.setState({}, () => {this.props.dispatch()}
@nihgwu 感谢 ,用你的方法完美解决.
@nihgwu 谢谢~解决了问题,大神知道为什么把setstate放在dispatch前面会这样么?
Most helpful comment
this.setState({}, () => {this.props.dispatch()}