state-management - 如何在 NGXS 中使用 patchState 与 setState?
问题描述
我正在学习 ngxs,但我不明白什么时候应该使用patchState
and setState
?有什么不同?
const state = ctx.getState();
let data = this.service.list();
ctx.setState({
...state,
feedAnimals: data
});
对比
let data = this.service.list();
ctx.patchState({
feedAnimals: data
});
解决方案
这两段代码是等价的。
patchState
只是setState({...state, ... }
代码的简写版本。
将来patchState
很可能会演变成一个更有用的不变性助手,包括相等测试(即,只有在补丁实际更改任何值时才会更改状态)和补丁运算符(这仍在讨论中)。
我建议使用patchState
整洁并利用即将推出的功能。
推荐阅读
- c++ - 我如何公开声明方法并私下编写代码
- python - 如何按字母数字顺序写回文件的排序行
- oauth - Auth0 ADFS - 找不到联合元数据 URL - 后续步骤
- python - Python中的无限系列
- webpack - ElasticBeanstalk - 容器命令 Webpack 构建错误
- java - 使用 @SQLInsert 的 JPA 抛出参数索引超出范围
- dynamics-crm - Dynamics 365 更改跟踪多对多关系
- vba - 将当前电子邮件作为附件附加到较新 Outlook 中的当前电子邮件回复
- http - 数据中使用的协议是如何编码的?
- android - 我在注册 BroadcastReceiver 后立即收到“android.net.wifi.WIFI_STATE_CHANGED”