【问题标题】:What is correct usage of useContext hook to replace Redux/ThunkuseContext 挂钩替换 Redux/Thunk 的正确用法是什么
【发布时间】:2019-10-20 22:43:58
【问题描述】:

我不确定如何使用新的 React 功能 useContext 挂钩来异步调用外部资源。 我想用 useContext 替换 Redux/Thunk 的使用。 什么是最佳实践。我写了一些代码来做到这一点。 有人可以查看我的代码并给我建议吗?

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

上下文-auth.js 上下文提供者实现、reducer、initialState、模拟 API 调用(AuthUser)

login.js useContext的用法

代码有效。 但这是最佳做法吗?

【问题讨论】:

标签: reactjs redux-thunk react-hooks


【解决方案1】:

我不确定这是否有帮助,但我已经使用 Context 和 React Router 实现了 Auth 和 Private Routes。

您可以在Code ReviewGist 中看到它。

我还有在CodeSandbox 中使用useContext 的示例。这是非常基本的,但我认为更容易理解。

useContext 替换了YourContext.Consumer,而且,您可能不需要使用HOC 来使用YourContext.Consumer

现在有了钩子,你只需要YourContext.Provider,导出YourContext并使用let contextValue = useContext(YourContext)从上下文中获取值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-12
    • 2021-08-22
    • 2021-12-08
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多