javascript - 就时间效率而言,在 store(model) 和 class 中存储状态有什么区别?
问题描述
我目前开始使用MobX
它,它完全使我的课程无状态。它对我来说看起来不错,但我想知道在存储中存储你的状态(observable
状态和方法)是否有任何缺点(有人称之为模型存储)?
解决方案
在性能方面没有显着差异。它背后的思考过程通常是“我需要这个状态只是这个组件,还是必须共享?”
如果是本地状态,可以直接放在组件类上:
@observer
class MyComponent extends React.Component {
@observable value = '';
render() {
return (
<input value={this.value} onChange={e => this.value = e.target.value} />
);
}
}
如果是共享状态,你可以把它放在外部存储中,然后传递给组件:
const MyComponent = observer((props) => (
<input
value={props.myStore.value}
onChange={e => props.myStore.value = e.target.value}
/>
));
推荐阅读
- html - 如何防止导航栏中的购物车“计数”以不同的宽度被挤压
- wxpython - 如何更改 wxPython StyledTextCtrl Margin 的背景
- django - Django模型错误:ValueError:字段'cat'期望一个数字但得到'-'
- vba - 访问共享收件箱中的子文件夹时出现运行时错误
- text - 如何确定在 SwiftUI 中的多词文本视图中点击的词
- neo4j - GoormIDE 为 0.0.0.0?
- flutter - 如何在应用程序检查颤振应用程序中的条件时显示启动画面
- pydicom - 如何在没有 PixelArray 的情况下仅保存 dicom 图像的元数据?
- c++ - 按字典顺序排列 1...n 的 k 的组合,算法太慢
- git - 如何通过命令行获取 Git 远程分支状态,如打开/关闭/合并?