在Next.js13及以上版本中的App Router模式下使用Mobx

本文介绍了如何在React项目中整合mobx和mobx-react,并通过mobx-react-lite的hooks实现状态管理。讲解了如何创建store、使用StoreContext和Hook,以及如何在React组件中应用Observer和useLocalObservable。遇到的问题是初次加载时组件不更新,需刷新后正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目结构

“next”: “14.1.4”,
“react”: “^18”,
“tailwindcss”: “^3.3.0”,
在这里插入图片描述

下载

pnpm install mobx
pnpm install mobx-react

注意:mobx-react里依赖了mobx-react-lite,mobx-react-lite是mobx-react的轻量版,它增加了对hooks的支持,所有更加推荐在react hooks项目中使用mobx-react-lite 它常使用的API主要为Observer和useLocalObservable,这两个API主要用在函数组件内部

当前版本:
“mobx”: “^6.12.3”,
“mobx-react”: “^9.1.1”,

新建store/UserStore.ts

import {
   makeAutoObservable} from "mobx";  
  
class UserStore{
     
	name:string = "xiaban";  
	  
	constructor() {
     
	makeAutoObservable(this);  
	}  
	  
	setName = (name:string) => {
     
	this.name = name;  
	}  
}  

const userStore = new UserStore();  
export default userStore;

新建store/RootStore.ts

import userStore from "@/store/UserStore";  
  
export const RootStore = {
   userStore}

新建app/_component/StoreContext.tsx

"use client";  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值