Как я могу обновить объект в массиве (используя эту библиотеку: 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, обновлять этот объект, но сохранять другие в безопасности, без изменений?
Хорошего дня. о /