在next.js中进行全局状态管理

在next.js中进行全局状态管理往往需要用到上下文context,这在react中很常见,但受制于nextjs的服务端渲染的特性,我们不能直接使用上下文进行全局状态管理。(包括很多第三方库也需要用到context)

官方的解决方案:https://vercel.com/guides/react-context-state-management-nextjs

简单来说就是创建一个自己的组件,标记为客户端渲染,该组件包裹住context,最后在根目录引用该组件即可。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在app.js使用mobx需要先引入mobx-miniprogram库,并使用observable和action装饰器来定义全局状态管理。在store.js文件,我们可以定义需要管理的数据字段和计算属性。比如在这个例子,定义了numA和numB两个数据字段,以及一个计算属性sum,它是numA和numB的乘积。同时,还定义了一个action函数update,用于更新numA的值。在Component构造器,我们可以使用mobx-miniprogram-bindings库的storeBindingsBehavior来绑定store,并在data定义需要使用的数据字段。在storeBindings,我们可以指定需要绑定的store和字段,以及需要绑定的actions。在methods,我们可以通过this.data来访问来自MobX store的字段。这样就可以在app.js使用mobx进行状态管理了。 #### 引用[.reference_title] - *1* [next.js with mobx](https://blog.csdn.net/weixin_33717298/article/details/88758745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [微信小程序:全局状态管理mobx-miniprogram、mobx-miniprogram-bindings](https://blog.csdn.net/mouday/article/details/120863470)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值