почему компонент в handleList2 теряет _owner и из-за этого list2 вообще никогда не рисуется?
может как минимум потому что ты его не мепишь в jsx?
второй вопрос что лежит в arr? let arr = list2; arr.push(component); setList2(arr);
потому что он уже jsx
текущий массив компонентов
окей зачем ты копируешь ссылку на root? и вызываешь push если есть setRoot ?
потому что root это константа
допустим зачем тебе push? ты root можешь изменить только с помощью setRoot
let arr = root; - копирую текущее состояние arr.push(component); - добавляю в копию текущего состояние изменение setRoot(arr); - обновляю текущее состояние
let arr = root ты копируешь не сам массив, а ссылку на массив и метод пуш соответственно меняет исходный
советую прочитать https://learn.javascript.ru/object-copy тут простым языком поймешь о чем я
Обсуждают сегодня