$reset

重置store到初始状态。

写在state里的值就是初始状态。

1
2
3
4
5
state: () => ({
user: <User>{},
name: "default",
current: 1
}),

如果值被改变,调用$reset就会将state所有值重置回初始状态。

$subscribe

监听state的改变,只要有state的变化就会执行这个函数,类似VueX的abscribe。

1
2
3
4
5
6
7
// 参数1:类似watchEffect里的effect
Test.$subscribe((args,state)=>{
console.log(args,state)
}),{
// 配置项,组件卸载后还想继续调用这个函数就设置
detached:true
})

$onAction

当有actions被调用,就会执行这个函数。

1
2
3
4
5
6
7
8
9
Test.$onAction((args)=>{
// 这个after和watchEffect的清除副作用函数很像,但它是后调用的
args.after(()=> {
console.log("after")
})
// 我会先被调用
console.log(args)
// 组件卸载后还想继续调用这个函数就设置参数2为true
},true)