Pinia 中 state、getter 和 action 应如何分工?
参考答案
state 保存状态,getter 表达派生值,action 承担明确的业务操作,可以包含异步流程。store 需要唯一 ID,适合跨组件共享而具有共同生命周期的数据。
组件仍可拥有局部状态,不应把每个输入框是否展开都放进全局 store。直接解构 store 的响应式属性可能失去关联,按需要使用 storeToRefs;action 方法可以按其 API 约定解构使用。
服务端渲染要注意每个请求的状态隔离以及序列化边界。请求失败、取消和重复调用应在 action 或相应数据层明确处理。持久化插件也不意味着可以把访问令牌或全部敏感数据随意写入浏览器存储。