You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redux reducer功能异常状态为undefined 首次开发社交应用问题求助

问题根因

你在action中返回的对象传递数据的字段为payload,但reducer中读取的是不存在的action.postData字段,导致Redux的Data状态被赋值为undefined。

修复方案

修改reducer中两个成功分支的字段读取逻辑即可:

import * as actionTypes from '../actions/actionTypes';

const initialState = {
    Data: [],
    loading: false
}

const reducer = (state = initialState, action) => { 
    switch(action.type){
     
        case actionTypes.New_Post_Error: return {
          ...state,
          loading:false
        }

        case actionTypes.New_Post_Success: return {
         ...state,
         loading: false,
         // 字段从postData改为payload和action对应
         Data: state.Data.concat(action.payload),
        }


        case actionTypes.Fetch_Post_Start: return {
            ...state,
            loading:true
          }

        case actionTypes.Fetch_Post_Error: return {
            ...state,
            loading:false
          }
  
          case actionTypes.Fetch_Post_Success: return {
           ...state,
           loading: false,
           // 字段从postData改为payload和action对应
           Data: action.payload
          }

     default: return state;
 }
}

export default reducer;

内容的提问来源于stack exchange,提问作者jashan khangura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:09:02