169 похожих чатов

Подскажите, как правильно получить id из ребенка в родителя, и

при это одновременно изменить состояние ребенка(поменять active на !active. id могу получить - вызывая handler и в качестве аргумента получая id выше. А как быть с состоянием? И где правильнее менять состояние ребенка? В родителе прокидывая через пропы active \ setActive или в ребенке локально хранить?

Что бы соблюдались принципы солид, и не перегромождать кнопку логикой. Логика кнопки - при нажатии менять цвет, на активный и отправляет данные в родителя - какая карточка активна(id)

3 ответов

2 просмотра

Если у тебя может быть активна только одна карточка, тогда делай const [active, setActive] = useState(null) над карточками, если у тебя карточки не зависят друг от друга, то управляй состоянием active внутри карточки

John-Kanegem Автор вопроса

Окей, это в принципе понятно, а как одновременно прокинуть и от родители изменение состояния вниз, и id наверх?

Ты кликаешь на кнопку => вызывается onClick(id) => в родителе вызываетсе onClickHandler(id) => onClickHandler вызывает setActiveCardId(id) => меняется activeCardId => дочерний компонент перереривается и получает новое значение active

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann Chapmann
19
Так а кто может спарсить всех участников чата? Идишники
Magic
17
Есть вопрос: допустим есть железка с каким-то интерфейсом(допустим usb), но как по этому интерфейсу железкой управлять неизвестно, прог нету, а управлять очень хочется надо. К...
Mixail Frolov
15
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
13
Карта сайта