Как обновить данные в свойстве состояния редуктора в реакции / редукции, когда мы не знаем уровень вложенности данных? - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть массив или объекты с именем "properties"

Этот массив свойств имеет объекты в следующем формате:

{
  "some-unique-key-A": {
    name:"someName1",
    value: {
      "some-unique-key-B": {
        name:"someName11",
        value : "someValue2"
      }
    }
  }
}

Здесь мы не знаем, каков уровень вложенности этих пар ключ-значение. Мы просто знаем одну вещь, данные должны быть обновлены для ключа: "some-unique-key-X"

В таком случае, как мы можем постоянно обновлять вложенные данные уровня x?

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

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

0 голосов
/ 04 сентября 2018

Используйте одноуровневое состояние реквизита! Неизменяемую непросто рекурсировать, нормализовать ваше состояние за один уровень, легко подключиться;)

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