当前位置: 首页 > article >正文

js:react使用zustand实现状态管理

文档

  • https://www.npmjs.com/package/zustand
  • https://github.com/pmndrs/zustand
  • https://docs.pmnd.rs/zustand/getting-started/introduction

安装

npm install zustand

示例

定义store
store/index.js

import { create } from "zustand";

export const useCountStore = create((set) => ({
  // state
  count: 0,

  // action
  increment: () => set((state) => ({ count: state.count + 1 })),
  decrement: () => set((state) => ({ count: state.count - 1 })),
}));

使用store

app.jsx

import React, { useState, useEffect } from "react";
import { useCountStore } from "./store/index.js";

function FooCounter() {
  const count = useCountStore((state) => state.count);
  return <h1>count: {count}</h1>;
}

function BarCounter() {
  const increment = useCountStore((state) => state.increment);
  const decrement = useCountStore((state) => state.decrement);

  return (
    <>
      <button onClick={increment}>increment</button>
      <button onClick={decrement}>decrement</button>
    </>
  );
}

export default function App() {
  return (
    <>
      <FooCounter />
      <BarCounter />
    </>
  );
}

http://www.kler.cn/a/133816.html

相关文章:

  • C++单例模式与多例模式
  • 深度学习中的感受野:从基础概念到多层次特征提取
  • Jetpack 之 Ink API初探
  • 建筑施工特种作业人员安全生产知识试题
  • 半导体企业如何利用 Jira 应对复杂商业变局?
  • LLM - 使用 LLaMA-Factory 微调大模型 Qwen2-VL SFT(LoRA) 图像数据集 教程 (2)
  • Shaderlab的组成部分SubShader
  • 分类预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多特征分类预测
  • C#中.NET 6.0 控制台应用通过EF访问新建数据库
  • 夺走的第一份工作竟是OpenAI CEO?
  • Linux文件和文件夹命令详解
  • MIB 6.1810实验Xv6 and Unix utilities(2)sleep
  • 九、Linux用户管理
  • Windows安装多个版本的Java
  • vue.js javascript js判断是值否为空
  • 庖丁解牛:NIO核心概念与机制详解 03 _ 缓冲区分配、包装和分片
  • 八股文-TCP的三次握手
  • C++-特殊类和单例模式
  • Leetcode—142.环形链表II【中等】
  • 基于springboot实现智能热度分析和自媒体推送平台系统项目【项目源码】
  • 将AI技术与VR元宇宙相结合的整体解决方案
  • 【Redis】zset常用命令集合间操作内部编码使用场景
  • 智能驾驶汽车虚拟仿真视频数据理解(一)
  • Java学习之路 —— Java高级
  • 2023-11-17 VsCode使用makefile进行多文件编译
  • 前端js常用代码段总结