Отдельно в экшенах
логика в списке
Спасибо, а экшен вы где бы использовали?
как это в компоненте списка?
Где кнопка, там и подключать))
Спасибо. Правада это вынуждает пробрасывать хэндлер сверзу вниз через несколько компонентов через пропсы
это ненормально что у вас там несколько компонентов вниз, я на скриншоте вижу два компонента, список и сам элемент
@im_anime вот по-другому считает. Хм
Есть отдельный стор, где хранится этот список? Стор содержит экшены для изменения списков. Компоненты всего лишь рисуют массив данных. Вот список рендерит список, а на кнопку вешается экшен, который вызывает необходимое действие в сторе (ну тут зависит от типа стора конечно же)
<ItemList> <ItemTitle /> <ItemPhone /> <ItemActions> <ItemActionEdit /> <ItemActionDelete /> </ItemActions> </ItemList>
Стора нету и не будет пока, поэтому выбор либо обрабатывать в родительском компоненте и протаскивать хэндлеры вниз через пропы либо в самом компопненте элемента списка обрабатывать ...
Нужно стараться держать функциональную логику и обработку данных отдельно от вью (визуальной составляющей).
Как вы себе второй вариант вообще представляете?
Если же приходящие данные хранятся в родителе (в стейте, скажем), тогда да, проще там сделать метод удаления и реализовать логику, а в ребенка прокидывать пропсом нужную ф-цию
ну как как, есть <ListItem /> в нем логика удаления
логика удаления откуда?
Тогда в ребенка надо прокидывать ф-цию получения обновленного списка после отработки удаления.. что так проброс, что эдак
Спасибо, примерно так и есть, но вопрос не о структуре компонентов, а о том где хранить логку удаления элемента (запрос на сервер)
выше был ответ что у вас это чисто ui элемент должен быть, а логика в списке
Запрос на сервер и замена кнопки Удалит на Восстановить
Само аннигиляция)
Тогда может есть смысл оставить прям в компоненте
Спасибо, так и есть сейчас, просто смотрел исходники apollo graphql tutorial и там логика была в самом элементе, вот меня и смутило, решил тут спросить
У аполло другая архитектура, если так можно её назвать в целом. Там вообще не совсем про экшены и хранение данных, больше про взаимодействие с графкл
я бы сделал инверсию контроля
С useState?
Обсуждают сегодня