不能第一时间获取到action里面的数据,这是怎么回事?
不是什么回事,事实上就是这样的,而且一直是这样的,改成可以访问到,不要问我为什么,我不知道。
process.nextTick(() => {
console.log(this.props.coding.keyList);
});
action传入dispatch会立即触发reducer,有些时候我们不希望它立即触发,而是等待异步操作完成之后再触发,这时候用redux-thunk对dispatch进行改造,以前只能传入一个对象,改造完成后可以传入一个函数,在这个函数里我们手动dispatch一个action对象,这个过程是可控的,就实现了异步。
第二种方法:
async dispatch => {
try{
//let result = await post(url,…)…//发起请求,获取数据
})
dispatch({
type: ...,
dataList: result,
})
}catch(err){
console.error(err);
}
}
}