- 在属性改变的瞬间,做处理;(只需要执行一次)使用 when;这个在检测属性变化时操作很有效;可以和 react 中state de preValue, currentValue 改写而成;
componentDidMount() {
when(() => this.props.taskStore!.settingVisible, () => this.getRobotInfo());
}
这里表示的是一旦settingVisible 为true,则执行后面的操作;使用 reaction() 不符合条件;
- Store 注入组件接口的形式必须是可选的
import { inject, observer } from 'mobx-react';
@inject('store’)
@observer
Class TodayTask extends React.Component <{**taskStore?: TaskStore**}>{}
- 实践后的总体感觉
mobx 灵活性好,但不好管理,状态不够清晰,如果组件内的状态使用 mobx 有点大材小用,不如 state, 如果比较大的项目使用 mobx, 并不会比 redux 节省代码,并且没有 redux 统一好管理;初次使用觉得有点鸡肋吧。
来源:oschina
链接:https://my.oschina.net/hyzccc/blog/3168990