问题描述
在大多数情况下,我在React组件中使用observable
和observer()
而不是React的状态。
但是,在MobX中使用React状态是反模式的吗?例如,这是反模式吗?
@observer
class Counter extends React.Component {
state = {
count: 0
};
render() {
return <button onClick={this._handleClick}>{count}</button>
}
_handleClick = () => {
this.setState(prev => {count: prev.count + 1});
};
}
我知道可以将其替换为observable
,但我想知道它是否是反模式。
或者,使用observable
比在观察到的组件中使用React的状态更好?如果是这样,为什么?
解决方法
问题是,为什么您的observer
在这里,因为您的组件未使用任何可观察对象。您将不会在这里获得任何东西,可以将其丢弃。
通常,不必过多担心反模式。只要某些东西对您有用,那就很好了。不要让别人强迫您进入他们自以为是的模式。