React Redux:如何在reducer中正确返回可迭代数组?

问题描述 投票:-1回答:1

我在React Redux中工作,我试图从我的reducer中的一个简单数组返回一个值。这是我的简短文件:

App.js

let arr = [{"name": "Matthew"}];

function App() {
    const dispatch = useDispatch();
    dispatch(action1(arr));

    return(
        <div>
            <List />
        </div>
    );
}

List.js

function List(){
    const val = useSelector(getVals);

    return(
        <div>
            {val}
        </div>
    )
}

Actions.js

export function action1(arr){
    return { type: ADD_STORE, arr};
}

Reducer.js

function AddToStore(state = [], action){
    switch(action.type){
        case ADD_STORE:
            return [...action.name, ...state];
    }
}

export default AddToStore;

这给我的错误是“对象不可迭代”。为什么?如果我只是传递一个字符串(例如“ Matthew”),则可以使用数组而不是数组,可以通过返回[... action,... state]来将其打印出来。

我在React Redux中工作,我试图从我的reducer中的一个简单数组返回一个值。这是我的简短文件:App.js let arr = [{“ name”:“ Matthew”}];函数App(){const dispatch ...

javascript reactjs redux action reducers
1个回答
0
投票

这不起作用,因为您正在商店中尝试返回一个数组而不是一个对象。有关redux主体的更多信息,请访问:https://redux.js.org/introduction/three-principles#single-source-of-truth


0
投票

这不起作用,因为您正在商店中尝试返回一个数组而不是一个对象。有关redux主体的更多信息,请访问:https://redux.js.org/introduction/three-principles#single-source-of-truth

© www.soinside.com 2019 - 2024. All rights reserved.