Unstated Next – ReactJS 的轻量级状态管理库 |第1部分
你可能使用过许多 ReactJ 的状态管理库,比如 Redux、Recoil MobX,甚至是 Unstated,但你有没有想过只用 300 字节的代码就可以管理整个应用程序的状态。它可以通过使用 Unstated-next 状态管理库来实现。
什么是未说明的下一个?
它是一个构建在 Reacts Context API 之上的轻量级状态管理库,我们可以使用它来管理全局状态反应应用程序。随着应用程序的增长,我们添加了许多组件,而管理这些组件并在组件之间共享状态成为 ReactJS 中一项非常繁琐的任务。为了解决这个问题,很多开源社区都开发了状态管理库。状态管理库的功能各不相同。因此,很难选择其中之一。在本文中,我们将解释 Unstated-next 与其他状态管理库的不同之处,它是如何工作的,以及如何将它集成到您的应用程序中。
与其他状态管理库相比,Unstated Next 的优势是什么?
通过查看上图,我们可以清楚地表明与其他库相比,Unstated Next 的大小更小。而且使用起来也非常简单,只需要写10行代码就可以直接控制应用的全局状态。此外,它可以用于复杂的应用程序(将在进一步的教程中解释)。它的每周下载量超过 50k。
关键点:
- 小束大小。
- 易于实施。
- 浅(快速)学习曲线。
- 也可用于复杂的应用。
未说明的 Next API 方法
1. createContainer(custom hooks)使用这个方法我们创建了一个容器,它会返回给我们Provider和useContainer方法。例如,如果您正在为用户创建商店,则使用应该创建:
// return { Provider, useContainer }
let userContainer = createContainer(userHook);
- Provider:它是一个反应组件,充当应用程序的提供者。
- useContainer:使用它我们可以访问用户的字段和方法。
2. Provider:它是一个React组件,允许子组件访问应用程序的全局存储。
return (
...
);
3. useContainer:是一个react hook,以CustomContainer为输入,返回其字段和方法。
let { name, onSubmit } = useContainer(userContainer);
return (
Name : {name}
);
创建反应应用程序:
第 1 步:使用以下命令创建一个新的 react 应用程序。
npx create-react-app example
步骤 2: cd 进入项目目录。
cd example
第三步:安装包。
npm i unstated-next
第 4 步:使用以下命令运行您的应用程序。
npm start
项目结构:在此之后,您的文件夹结构如下所示:
示例:此示例将创建一个类似帖子的计数器。