Потому что !undefined
наверно потому что isOpen[index] возвращает undefined. А вообще страный код. Выглядит не очень
а как лучше сделать? условно у меня есть задача. есть пункты меню. при клике на какой то из пунктов делать его active, cоответсвенно при клике на другой пункт его делать active, у предыдущего active убирать. Сильно не пинайте, я только учусь
Набор пунктов меню статичен?
У вас есть массив объектов и каждого объекта должно быть свойство isActive. При клике на элемент списка нужно перезапись массив и нужного объекта свичнуть поле isActive.
прилетает в виде массива
Ну вот делай как выше написали
если я правильно вас понял, то выглядеть должно примерно так
Не хочу показаться не тактичным, но выглядит плохо (может только для меня) . Название переменной isActive с какого перепуга хранит в себе массив, а не булевое значение; тернарный оператор не так работает. И вроде useCallback тут вообще не нужен.
я учусь и критику вполне нормально воспринимаю. вопрос с тернарником, почему не так?
Вы используете тернарку как if/else, то есть помещаете туда операции присваивания. Но это не правильно. В тернарке надо что-то возвращать и записывать в переменную myVar = cond ? 'someTrue' : 'someFalse'
я тоже учусь го вместе))
учту на будущее, спасибо
Обсуждают сегодня