zustand我想要获取状态时候,从数据库获取到bears的值然后set到状态,请问如何做呢?

作者站长头像
站长
· 阅读数 7

针对zustand的使用,我知道可以按照如下的方式设置状态(bears: 0), 配置actions(例如: removeAllBears):zustand我想要获取状态时候,从数据库获取到bears的值然后set到状态,请问如何做呢?

import {Window} from '../../interfaces/index'
const ipcRenderer = (window as unknown as Window).ipcRenderer

export const createBearSlice = (set:any, get:any) => ({

  // 1.状态
  bears: 0,

  // 2.操作状态的actions 
  removeAllBears: () => {

    // ipc通知:prisma操作数据库
    ipcRenderer.invoke('resetBears', 0).then((res) => {
      console.log(res)
    })
  
    // 设定状态
    set({ bears: 0 })
  }

})

1、但是我想要获取状态时候,从数据库获取到bears的值然后set到状态,请问如何做呢?2、请问这里为何要使用createBearSlice作为名称呢?有什么含义?可以用bearSlice吗?

回复
1个回答
avatar
test
2024-07-01
export const createBearSlice = (set:any, get:any) => ({

  // 1.状态
  bears: 0,

  removeAllBears: () => {

    ipcRenderer.invoke('resetBears', 0).then((res) => {
      console.log(res)
    })
  
    // 设定状态
    set({ bears: 0 })
  },

  loadBearsFromDB: () => {
 
    ipcRenderer.invoke('getBears').then((res) => {
      set({ bears: res })
    })
  }

})

2.关于createBearSlice的命名,这只是一个命名约定,没有硬性规定。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容