Просто добавьте объект в пустой массив с помощью создателей действий, приставки и thunk - PullRequest
0 голосов
/ 27 марта 2019

Я хочу просто добавить нового «клиента» в мой пустой список клиентов, расположенный в моем clientReducer.Я вижу, что все работает четко, потому что когда я console.log (состояние) в моем clientReducer, я вижу, что информация от входа прошла через диспетчер действий, создатель действия и теперь находится в редукторе.Моя проблема в этом куске кода здесь ... Я пытаюсь добавлять клиентов в свое хранилище редуксов.

Я пытался использовать this.setState ({}), но он его не читает.

Вот клиент. Действия:

export const addClient = (client) => {
    return(dispatch, getState) => {
        dispatch({type: 'ADD CLIENT', client})
    }
}

Вот клиент clientReducer:

const initState = {
    clientList: []
}

const clientReducer = (state = initState, action) => {
    switch (action.type) {

        case 'ADD CLIENT' : 
            let clientList =  [...state.clientList, action.client];
            this.setState({
              clientList : clientList
            })
            return state;

        default : return state;
    }
}    

export default clientReducer

1 Ответ

0 голосов
/ 27 марта 2019

Вы не делаете setState внутри редуктора, а просто возвращаете обновленное состояние.

const clientReducer = (state = initState, action) => {
    switch (action.type) {

        case 'ADD CLIENT' : 
            let clientList =  [...state.clientList, action.client];
            return {
              ...state,
              clientList : clientList
            }

        default : return state;
    }
}    

export default clientReducer
...