react-redux操作过程中,出现的问题:Uncaught ReferenceError: Cannot access ‘SET_XXXXX‘ before initialization

在react-redux的action操作中,我试图在一个action中去dispatch操作另一个action,结果出现了
react-redux操作过程中,出现的问题:Uncaught ReferenceError: Cannot access ‘SET_XXXXX‘ before initialization_第1张图片
详细代码如下(一个action函数):

export const setProgress = (val: number) => {
     
  const dispatch = store.dispatch
  const len = store.getState().loadingProgress.length
  if (val === 0) {
     
    dispatch(setHtmlLoading(true)) // 想在这里进行dispatch操作action函数,进而修改redux的数据
  } else if (val === len - 1) {
     
    dispatch(setHtmlLoading(false))
  }
  return {
      type: SET_PROGRESS_NUM, data: val }
}

如此操作,是有原因的,因为在vue的vuex中,我的习惯就是将一些异步操作和杂项统一放在一个action函数中,方便后续操作和修改。

但是在这里时不可以的,切忌不可以在action函数,去调用另一个action函数,甚至是操作store

正确的做法还是乖乖如下

export const setProgress = (val: number) => {
     
  return {
      type: SET_PROGRESS_NUM, data: val }
}

确切原因还不太清楚,如果知晓的朋友可以在下方留言,方便学习交流。

你可能感兴趣的:(React,react,typescript)