反应redux除非刷新,否则不重新渲染

时间:2018-07-30 14:22:51

标签: javascript reactjs ecmascript-6 redux

我花了几个小时无法理解,如果我登录并没有刷新我的应用程序,为什么在redux中没有状态更改。

我的动作

export function applyAd(id) {
  return (dispatch, getState, { emit }) => {
    dispatch({ type: APPLYING_AD })

    axios
      .put(`/ad/apply`, { id })
      .then(res => {
        if (res.status === 200 && res.data.status === 1) {
          dispatch({
            type: APPLY_AD,
            payload: res.data.data
          })

        }
      })
      .catch(res => {
        console.log('res',res)
      })
  }
}

我的减速器

//...
case APPLYING_AD:
  return {
    ...state,
    loading_apply_ad: true
}
case APPLY_AD:
  return {
    ...state,
    ad: {
      ...state.ad,
      status: action.payload.ad.status,
      loading_apply_ad: false
   }
}
//...

我很恶心,此错误使我停留了2天以上,我什至不知道为什么它不重新呈现(登录后刷新后可以使用)。我比较了登录后的状态以及登录和刷新后的状态,

0 个答案:

没有答案