问题:同时拥有 mobx 和 react,然后同时使用 reacts 组件状态和@observer
@observable
from mobx 是否是一种反模式?
因为据我所知,mobx 试图替换反应状态,或者至少做了一些非常相似的事情。
问题:同时拥有 mobx 和 react,然后同时使用 reacts 组件状态和@observer
@observable
from mobx 是否是一种反模式?
因为据我所知,mobx 试图替换反应状态,或者至少做了一些非常相似的事情。
我不会称其为反模式,但它打败了我最喜欢的 MobX 方面之一。使用 MobX 时,您只需要处理道具。我喜欢这样,因为我永远不必担心财产是否存在于道具或状态中。自从我开始使用 MobX 以来,我从来没有遇到过需要组件本地“状态”的情况。我发现最好将所有应用程序状态保留在商店中,将该状态作为道具传递给顶级组件......
但是,如果您需要使用 MobX 拥有一个“有状态”组件,您可以这样做。
import React, { Component } from 'react';
import { action, observable } from 'mobx';
import { observer } from 'mobx-react';
@observer
export default class User extends Component {
@observable user = {
firstName: 'john',
lastName: 'lennon',
status: 'alive'
};
@action updateUserStatus(newStatus) {
this.user.status = newStatus
}
render() {
const { firstName, lastName, status } = this;
return (
<p>{firstName} {lastName} - {status}</p>
);
}
}