React Context Hook против прямого ввода данных в компоненты - PullRequest
1 голос
/ 06 апреля 2020

Я большой поклонник использования React-хуков, и мне также нравится разрабатывать поверх Firebase.

Учитывая возможности базы данных Firebase в реальном времени, я склоняюсь к тому, чтобы вызывать данные, которые мне нужны для данного компонента React, непосредственно в сам компонент или в ближайший родительский компонент, а не вытягивать данные в нечто вроде хранилище Redux или в Components через React useContext hook API.

Есть ли какая-то причина, по которой я не должен просто извлекать данные в Компонент и часто хранить их в состоянии этого Компонента с помощью ловушки useState? Похоже, что для многих приложений перевод данных, используемых каким-либо Компонентом, в состояние всего приложения через Redux или даже через ловушку useContext является немного излишним.

Можете ли вы помочь мне понять, правильное ли мое мышление здесь и есть ли ситуация, когда использование ловушки useContext имело бы больше смысла (кроме очевидных вариантов использования, таких как тема приложения или скин). Я просто не могу решить, какой подход использовать с моими Компонентами.

Спасибо,

Дэвис

1 Ответ

2 голосов
/ 06 апреля 2020

Основным недостатком описанного вами подхода является возможность выполнения нескольких избыточных вызовов. Если более одного компонента нуждаются в одном и том же фрагменте данных, вы потратите ненужные ресурсы на выборку этих данных более одного раза. Это то, для чего создан React Context API. Если у вас есть объект user и два компонента, которым нужно знать name пользователя, вы можете сохранить объект пользователя в контексте, а затем получить доступ к этому контексту во всем приложении, вызывая выборку пользователя только один раз.

...