我不确定如何使用新的React功能useContext挂钩异步调用外部资源。 我想用useContext替换Redux / Thunk的用法。 什么是最佳做法。我写了一些代码来做到这一点。 有人可以查看我的代码并给我建议吗。
https://codesandbox.io/s/usecontext-with-side-effect-example-uuyxw
context-auth.js 上下文提供程序实现,reducer,initialState,模拟API调用(AuthUser)
login.js useContext的用法
代码有效。 但这是最佳做法吗?
答案 0 :(得分:0)
我不确定这是否有帮助,但是我已经使用上下文和React Router实现了Auth和Private Routes。
您可以在Code Review和Gist中看到它。
我也有一个在CodeSandbox中使用useContext
的示例。这是非常基本的,但我认为更容易理解。
useContext
替换了YourContext.Consumer
,而且,您可能不需要使用HOC来使用YourContext.Consumer
。
现在有了钩子,您只需要YourContext.Provider
,导出YourContext
并使用let contextValue = useContext(YourContext)
从上下文中获取值