Массив состояния Redux не будет перезагружен к своим начальным значениям - PullRequest
0 голосов
/ 05 декабря 2018

Я использую избыточность для своих собственных приложений.Я хочу перезапустить свое состояние притока после того, как пользователь выполнил какое-то действие.

Здесь мое начальное состояние выглядит как

    initialState = {
            a: "",
            b: "",
            arrayC: [
             {
                x : "xValue",
                y : "",
                z : ""
             }
           ]
    }

После некоторого действия пользователя состояние меняет свое значение на что-то подобное

        {
                a: "ValueA",
                b: "ValueB",
                arrayC: [
                 {
                    x : "xValue",
                    y : "ValueY",
                    z : "ValueZ"
                 }
               ]
        }

У меня есть действие для сброса текущего состояния в исходное состояние, как и раньше, это мое действие для сброса

export const resetStateReducer = () => ({
    type: RESET_STATE
});

и внутри моего редуктора

case RESET_BOOKING_REDUCER:
            return initialState;

Все работаетхорошо, кроме arrayC.До сброса значения по-прежнему сохраняются, например:

{
            a: "",
            b: "",
            arrayC: [
             {
                x : "xValue",
                y : "ValueY",
                z : "ValueZ"
             }
           ]
    }

Что мне делать?мой код или логика неверны?

Спасибо

РЕДАКТИРОВАТЬ Это мой код действия для обновления arrayC значение

case ADD_ARRAY_C:
            var { index, newObject} = action.payload;
            var temp = state.arrayC;
            temp[index] = { ...temp[index], ...newObject};

            return {
                ...state,
                arrayC: temp,
            };

1 Ответ

0 голосов
/ 05 декабря 2018

Скорее всего, ваше первоначальное состояние видоизменяется.Попробуйте консольный журнал, прежде чем сбросить состояние, и посмотрите, что отображается.

Как правильно клонировать объект JavaScript?

Проверьте, как клонировать объектдля вашего начального состояния в редукторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...