Лучший способ обновить вложенный массив с помощью immutability-hepler - PullRequest
0 голосов
/ 02 октября 2018

Я использую immutability-helper для обновления состояния в React.Я использовал для обновления такие вещи, как это:

const newElement = update(element, {
            x: {
              $apply: function(x) {
                return x * width;
              }
            },
            markers: {
              $set: element.markers
            }
          });

Но как насчет обновления свойства, которое является массивом.Допустим, markers - это массив, если я создаю newElement с использованием $set, он просто создает эталонную копию, следовательно, это:

newElement.markers[0].text = "sample"

изменит состояние.Каков будет правильный способ сделать это, кроме этого:

 const newMarkers = [];
          newElement.markers.forEach(marker => {
            const updatedMarkers = update(marker, {
              x: {
                $apply: function(x) {
                  return x * width;
                }
              },
              y: {
                $apply: function(x) {
                  return x * height;
                }
              }
            });
            newMarkers.push(updatedMarkers);
          });
newElement["markers"] = newMarkers;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...