javascript - React JS,Redux状态更新错误,无法读取属性Symbol(Symbol.iterator)

标签 javascript reactjs react-redux

当我更新 redux 状态时,它给出错误 TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator))

const initialState = {
  articles: []
};

function rootReducer(state = initialState, action) {
 switch(action.type){
   case ADD_ARTICLE:{return [...state,action.payload];}  # error occurs in this line
   default:return state;
 }
}

export default rootReducer;

最佳答案

您正在尝试克隆 {} 而非 [] 的状态。尝试按以下方式返回:

switch(action.type) {
   case ADD_ARTICLE: {
     return {
        ...state,
        action.payload
     };
   }

   default: {
     return ...state;
   }
}

关于javascript - React JS,Redux状态更新错误,无法读取属性Symbol(Symbol.iterator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61911489/

相关文章:

javascript - 使用 React 获取选择值

javascript - 如何测试条件渲染组件的状态转换

reactjs - 如何在 React 组件之外访问 Redux 存储

javascript - 如果初始状态为空,如何修改组件状态?

javascript - 我应该选择哪个 redux 中间件?

javascript - lodash递归查找数组中的项目

javascript - 将 CSS 样式规则转换为 HTML 元素(反之亦然)

javascript - 在 Electron 中的两个渲染器进程之间直接通信

javascript - Mapbox 切换多层的可见性

javascript - React.js 组件中 websocket 的 onopen 事件中调用函数