为ReactJS组件和MobX正确获取数据

为ReactJS组件和MobX正确获取数据,reactjs,mobx,Reactjs,Mobx,MobX中数据获取(和发布)的首选方式是什么?包括用于在加载外部数据调用期间生成微调器的选项 所有操作都在存储中使用@actions,使组件尽可能哑,例如,尽可能多地使用无状态功能组件 在组件中,例如通过使用组件didmount或WillMount 通过使用高阶组件 根据,应该在mobx actions中执行操作,因此按照您描述的第一个选项的建议在商店中执行操作 他们提供的示例非常适合您的用例: @action createRandomContact() { this.pendin

MobX中数据获取(和发布)的首选方式是什么?包括用于在加载外部数据调用期间生成微调器的选项

  • 所有操作都在存储中使用@actions,使组件尽可能哑,例如,尽可能多地使用无状态功能组件
  • 在组件中,例如通过使用组件didmount或WillMount
  • 通过使用高阶组件
  • 根据,应该在mobx actions中执行操作,因此按照您描述的第一个选项的建议在商店中执行操作

    他们提供的示例非常适合您的用例:

    @action    createRandomContact() {
        this.pendingRequestCount++;
        superagent
            .get('https://randomuser.me/api/')
            .set('Accept', 'application/json')
            .end(action("createRandomContact-callback", (error, results) => {
                // ^ Note: asynchronous callbacks are separate actions!
                if (error)
                    console.error(error);
                else {
                    const data = JSON.parse(results.text).results[0];
                    const contact = new Contact(this, data.dob, data.name, data.login.username, data.picture)
                    contact.addTag('random-user');
                    this.contacts.push(contact);
                    this.pendingRequestCount--;
                }
            }));
    }