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

Доброго времени суток! Делаю пет проект React+ Redux-toolkit. Объясните пожалуйста,

как эффективно использовать хук useSelector. Есть компонент/страница "Корзина" с такой структурой: Basket->BasketList->BasketFoodType->BasketItem .
В текущей реализации, я вызываю useSelector 1 раз в компоненте Basket, получая весь "слайс" корзины, а затем прокидываю данные в дочерние компоненты через пропсы.
И вот возник вопрос, насколько это правильно. Могу ли я в каждом компоненте вызывать useSelector, сразу получая нужные мне данные, тем самым избавится от проброса данных через пропсы. Или нет? Подскажите пожалуйста, а то есть чувство, что натягиваю сову на глобус

14 ответов

7 просмотров
Sultan-Mashukov Автор вопроса

Или же оба варианта имеют право на жизнь, просто у меня "контейнерный компонент" получился раздутый (Basket)

Пздц неправильно

Ты занимаешься props drilling'ом, только при это используя стейт редакса. Т.е то что было сделано дабы избежать такое поведение, ты все равно используешь, тем самым нивелируя саму концепцию. Короче это дичь, получай где тебе нужно через useSelector

Sultan-Mashukov Автор вопроса
Стас
Ты занимаешься props drilling'ом, только при это и...

Да, так и есть. Хорошо что спохватился вовремя. Спасибо за ответ!

Sultan Mashukov
Да, так и есть. Хорошо что спохватился вовремя. Сп...

использование везде useSelector привязывает твой компонент к глобальному стейту. что будет если ты захочешь переиспользовать компонент в другом месте? это вопрос золотой середины. если это небольшие компоненты то скорее всего там лучше использовать пропы. если это виджеты которые вряд ли будут использоваться в других частях приложения то можно использовать useSelector. но вообще конечно неплохо было бы полностью отвязать компонент от хуков через connect

Oleg
использование везде useSelector привязывает твой к...

Конект апи валидно вроде в основном только для классовых компонентов

Oleg
использование везде useSelector привязывает твой к...

Ну разработчики redux решили, что connect это устаревшая штука. Не рекомендуется к использованию

Sultan-Mashukov Автор вопроса

Да, это тоже верно. Но конкретно в моем случае, компоненты не будут переиспользоватся в других местах, они будут только в одном месте. А что касается connect, то я специально от них ушёл, ибо с хуками лично мне более нравится. Без всяких mapProps.. и тп

почему не для функциональных?

Sultan Mashukov
Да, это тоже верно. Но конкретно в моем случае, ко...

> они будут только в одном месте никто не застрахован!

Sultan-Mashukov Автор вопроса
Oleg
почему не для функциональных?

Конект - из redux-react. Хуки из redux-toolkit

Sultan Mashukov
Конект - из redux-react. Хуки из redux-toolkit

Неа) useSelector тоже из редакс реакт

Sultan-Mashukov Автор вопроса
Oleg
хуки есть и в пакете react-redux

Извиняюсь, не стоило писать, не изучив

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

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

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
10
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта