我很难理解使用 ES6 脚本时函数返回的内容。我是 ES6、React 和 Redux 世界的新手

I am trouble to understand what is returning from the function when using the ES6 script. I am new to ES6, react and redux world

我是 React 和 redux 的新手,试图理解以下代码:

const initialState = { list: [] };

export default function (state = initialState , action) {
    switch (action.type) {
        case GET_TICKET:
            return {
               ...state, 
               list: [...list, action.payload.data]
            };
        default:
            return state;
    }
}

return 语句在这里做什么?是 returning 两个数组,即 state 和 list?

如果 reducer 更新状态,它不应该就地修改 现有 状态对象。相反,它应该生成一个包含必要更改的 new 对象。

处理 GET_TICKET 操作的案例将向 state.list 添加一个新的列表项,并且 return 一个浅拷贝(通过 es6 spread operator)而不是改变state.list 到位。

来自文档 Immutable Update Patterns:

The key to updating nested data is that every level of nesting must be copied and updated appropriately.

另请参阅 Inserting and Removing Items in Arrays