当前位置: 首页 > 知识库问答 >
问题:

前端 - zustand的store的,如何才能进行监听呢?

咸育
2023-09-21

我有如下的zustand的store:

// tabs.store.tsinterface TabsSlice {  tabs: [],  addTab: (tab: TabsWithBreadcrumbs[number]) => {},  removeTab: (key: string) => {},}export const createTabsSlice = (set:any, get:any): TabsSlice => ({  tabs: [   { title: '简介', breadcrumbs: ['简介'], key: '000' },  ],  addTab: (tab) => {    console.log('mmkk2: ', tab)    return set((state) => {      const newTabs = state.tabs.push(tab)      return newTabs    })  }})

请问如何才能进行store的state的监听呢?

比如tabs有变化,那么我就想要打印一下结果。请问如何做到呢?

共有1个答案

曾华翰
2023-09-21
createTabsSlice.subScribe(console.log);

个人觉得不能单独监听某个键的设计不太科学,不过可以通过高阶函数或者写中间件的方式做到。

 类似资料:
  • 本文向大家介绍如何用Node监听80端口?相关面试题,主要包含被问及如何用Node监听80端口?时的应答技巧和注意事项,需要的朋友参考一下 这题有陷阱!在类Unix系统中你不应该去监听80端口,因为这需要超级用户权限。因此不推荐让你的应用直接监听这个端口。 目前,如果你一定要让你的应用80端口的话,你可以有通过在Node应用的前方再添加一层反向代理(例如nginx)来实现,如下图。否则,建议你直接

  • vue组件demo,内嵌了iframe,src='www.xxx.com/aaa' 现在aaa页面内部路由跳转之后,如何在组件demo中获取到最新的跳转链接 通过监听iframe的onload事件,拿到的src始终都是www.xxx.com/aaa

  • Server可以监听多个端口,每个端口都可以设置不同的协议处理方式,例如80端口处理http协议,9507端口处理TCP协议。SSL/TLS传输加密也可以只对特定的端口启用。 !> 例如主服务器是WebSocket或Http协议,新监听的TCP端口(listen的返回值,即Swoole\Server\Port,以下简称port)默认会继承主Server的协议设置。必须单独调用port对象的set方

  • 如何才能一个人做一个项目? 因为我尝试了,一个人做项目,会懒惰,会不知道下一步做什么。 如果是一个团队做,还有项目进度表、项目管理,分工合作。 但是如何一个人做出一个项目?

  • 同一元素有横向和纵向滚动,只想对纵向滚动做防抖

  • 例如,我可以启动两个程序侦听端口371。第二个没有任何问题地启动并接收传入连接,而第一个没有。一旦最后开始的进程终止,第一个接收它们。 假设这是Windows(XP)行为,它怎么可能是安全的行为呢?这意味着人们可以“过载”任何已经侦听的端口,而不是获得通常的“地址已经在使用”错误消息,并简单地绕过防火墙,规则只是说“允许端口371上的任何传入TCP连接”。