React Hooks - Обновить указанный c объект с идентификатором, другие игнорировать, сохранить ...? - PullRequest
0 голосов
/ 15 апреля 2020

Как я могу обновить объект в массиве (используя эту библиотеку: https://github.com/bkrem/react-d3-tree):

const dataWithCollapsedProperties = [
    {
      name: "Top Level",
      id: 1,
      children: [
        {
          name: "2: A",
          id: 2,
          children: [
            {
              name: "3: Collapsed son of A",
              id: 3,
            },
            {
              name: "3: Daughter of A",
              id: 4,
            },
          ],
        },
        {
          name: "2: B",
          id: 5,
        },
      ],
    },
  ];

К счастью, вышеприведенная библиотека имеет обработчик click где вы получили в результате один объект из примера выше. Я хочу создать единое состояние, используя перехватчики реагирования.

const [currentState, setCurrentState] = useState();

Где нужно обновить currentState для обработчика кликов:

Обработчик для кликов, например:

<Tree
data={dataWithCollapsedProperties}
onClick={setAlert}
/>

Вот обработчик setAlert:

const setAlert = (nodeData, evt) => setCurrentState(nodeData); //nodeData is single object

И в curretState у меня есть текущий объект (клик как запрос), где у меня есть форма для манипулирования этим состоянием currentState, это не проблема, мой Вопрос в том, должен ли currentState (когда завершены манипуляции с этим объектом) возвращать обновленное глобальное состояние dataWithCollapsedProperties, обновлять этот объект, но сохранять другие в безопасности, без изменений?

Хорошего дня. о /

...