异步用的 redux-thunk。
dispatch(asyncActionCreator())
后会有 request -> success 和 request -> failure 2 种情况,在获取数据并渲染到页面的情况下,直接就工作了。但是如果我想在 success 后 dispatch 另一个 action,我可以用回调函数做,比如:
dispatch(asyncActionCreator((err) => {
if (err) { console.error(err) }
dispatch(anotherActionCreator())
}))
还是根据 state 的数据判断,比如 staus = undefined,success 后变为 ‘success’,fail 后变为 ‘error’,这样有个问题:你退出这个界面,再进去,state 是一直在的,会再次 dispatch(anotherActionCreator())
,而我要的只是成功后调转一次,这个时候就还要 dispatch 一个清空这部分数据的 action,感觉很繁琐。
数据渲染这部分 react + redux 处理的挺好,而流程控制这部分感觉不是很清楚。我用“数据渲染”和“流程控制”这 2 个词,但是自己也没想清楚,大家有什么好建议吗?