от
Я работаю на список подписок, содержащих 3 уровня информации : клиент, type_errors, sub_type_errors. Я хочу иметь возможность активировать подписку на клиента и уровни sub_type_error. Активация на уровне клиента должно быть предназначено для активации на уровне sub_types_errors. Эти сведения содержатся в документе JSON, который я пытаюсь обновить с возвращением. Я понял, читая документацию, я полагаю, что массивы являются достаточно сложными, чтобы справиться с в клетку. Есть ли чистое решение без изменения структуры документа JSON это ? Я думал, рефакторинга мой JSON-структуры для получения массивов или нормализации данных, но то, что я пытался не получилось. Это объект JSON я пытаюсь обновить :
{
    "_id": ObjectID("5d224019c947139b4e12652b"),
    "type_errors": [
        {
            "name": "type_error1",
            "sub_type_errors": [
                {
                    "name": "sub_type_error1",
                    "dashboard_activated": 0,
                    "email_activated": 0
                },
                {
                    "name": "sub_type_error2",
                    "dashboard_activated": 0,
                    "email_activated": 0
                }
            ]
        },
        {
            "name": "type_error2",
            "sub_type_errors": [
                {
                    "name": "sub_type_error3",
                    "dashboard_activated": 0,
                    "email_activated": 0
                }
            ]
        }
    ],
    "user": "user1",
    "client": "client1",
    "dashboard_client_activated": 0,
    "email_client_activated": 0
}
С редуктором являются :
        case ACTIVATE_CLIENT_DASHBOARD_SUBSCRIPTION:
            console.log(action.payload.data.subscriptionId)
            return {
                ...state,
                list: state.list.map(el => (el._id === action.payload.data.subscriptionId ? 
                    { ...el, 
                        dashboard_client_activated: 1,
                        type_errors.sub_type_errors.dashboard_activated: 1
                    } : el))

            }
Я ожидал, что набор полей dashboard_client_activated и dashboard_activated к 1, но это не работает для поля dashboard_activated как я имею дело с массивами.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...