反应 mobx 将存储注入组件

问题描述

当我们调用 mobx 并通过以下方式注入并观察组件内部存储时

**ExampleStore.ts**
import { observable,action } from 'mobx';

export class ExampleStore {
    @observable
    testData1: any = [];

    @observable
    testData2: any = [];

}

export default inject('exampleStore')(observer((props) => {
    // Return component
    // Uses testData1 only
}));

testData2 是否也注入到 React 组件中?还是只注入使用的 testData1?

解决方法

两个可观察对象都可以在组件内访问,但只有当使用的 可观察对象之一发生变化时,组件才会重新渲染。

查看mobx react integration documentation了解更多详情:

观察者 HoC 自动将 React 组件订阅到渲染期间使用的任何可观察对象。