Как правильно использовать ловушку useContext для замены Redux / Thunk - PullRequest
0 голосов
/ 05 июня 2019

Я не уверен, как использовать новую функцию React useContext hook для асинхронного вызова внешних ресурсов. Я хочу заменить использование Redux / Thunk на useContext. Что такое лучшая практика Я написал код для этого. Может кто-нибудь просмотреть мой код и дать мне предложения.

https://codesandbox.io/s/usecontext-with-side-effect-example-uuyxw

контекстный auth.js реализация провайдера контекста, редуктор, initialState, ложный вызов API (AuthUser)

login.js использование useContext

Код работает. Но это лучшая практика?

1 Ответ

0 голосов
/ 05 июня 2019

Я не уверен, поможет ли это, но я реализовал Auth и Private Routes с использованием Context и React Router.

Вы можете увидеть это в Code Review и Gist.

У меня также есть пример использования useContext в CodeSandbox .Он очень простой, но я думаю, что его легче понять.

useContext заменяет YourContext.Consumer, а также вам, вероятно, не нужно использовать HOC для использования YourContext.Consumer.

Теперь с хуками вам нужно только YourContext.Provider, экспортировать YourContext и получить значение из контекста, используя let contextValue = useContext(YourContext)

...