关于dispatch同步问题

#1


不能第一时间获取到action里面的数据,这是怎么回事?

#2

不是什么回事,事实上就是这样的,而且一直是这样的,改成可以访问到,不要问我为什么,我不知道。

process.nextTick(() => {
  console.log(this.props.coding.keyList);
});
#3

action传入dispatch会立即触发reducer,有些时候我们不希望它立即触发,而是等待异步操作完成之后再触发,这时候用redux-thunk对dispatch进行改造,以前只能传入一个对象,改造完成后可以传入一个函数,在这个函数里我们手动dispatch一个action对象,这个过程是可控的,就实现了异步。

#4

第二种方法:

async dispatch => {
try{
//let result = await post(url,…)…//发起请求,获取数据

  })
  dispatch({
    type: ...,
    dataList: result,
  })
}catch(err){
  console.error(err);
}

}
}