如何在不使用 redux 的情况下使用钩子管理 react 应用程序的全局状态?



我一直在我所有的 react 项目中使用 redux 来维护应用程序的全局状态。我读到我们也可以使用钩子管理应用程序的全局状态,而无需 redux,但我无法弄清楚如何使用它。任何帮助或示例都会非常有帮助。

Hooks 是一种函数式编程方式,可以在 react 中取消类。但是,您可以查看React Context API。它允许以反应方式进行全局状态管理。

请注意,Recat Context 不能替代 Redux。它们都是相辅相成的,redux 也使用此上下文。

const UserContext = React.createContext(null) ;//默认值

获得该值后,您可以在其中存储任何对象或函数。 因此,在根目录或应用程序上,创建一个正常的全局状态。

const [user, setUser] = useState()<UserContext.Provider value={{user, setUser}}> <ComponentA /> <UserContext.Provider>

现在,用户和用户方式在整个应用程序中进行全局管理。

现在你可以使用,const {user, setUser} = useContext(UserContext).

调用 setUser 时,您现在正在更新全局状态。请继续阅读以了解何时使用。 https://reactjs.org/docs/context.html#before-you-use-context

如果要将Redux替换为ReactHooks,可以按照本教程进行操作: 链接

React 钩子会取代 Redux 吗? TL;大卫:钩子很棒,但没有。

自从 React 钩子API 被引入以来,关于 React 钩子是否会取代 Redux 的问题已经出现了很多。

在我看来,ReactHooksRedux之间几乎没有重叠。Hooks 并没有给我们带来神奇的新状态能力。相反,它增强了我们已经可以用 React 做的事情的 API。

要了解什么是redux?,什么是 react hooks?,为什么我们首先会考虑 Redux?,请访问这里

相关内容

  • 没有找到相关文章

最新更新