在 store(model) 和 class 中存储状态在时间效率方面有什么区别?
What's the difference between storing states in store(model) and class in terms of time efficiency?
我目前开始使用 MobX
,它使我的 类 完全无状态。它对我来说看起来不错,但我想知道在商店(有人称之为模型商店)中存储您的状态(observable
状态和方法)是否有任何缺点?
在性能方面没有显着差异。其背后的思考过程通常是"Do I need this state in just this component, or does it have to be shared?"
如果是本地状态,可以直接放在组件上class:
@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}
/>
));
我目前开始使用 MobX
,它使我的 类 完全无状态。它对我来说看起来不错,但我想知道在商店(有人称之为模型商店)中存储您的状态(observable
状态和方法)是否有任何缺点?
在性能方面没有显着差异。其背后的思考过程通常是"Do I need this state in just this component, or does it have to be shared?"
如果是本地状态,可以直接放在组件上class:
@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}
/>
));