MobX中数据获取(和发布)的首选方式是什么?包括在onLoad外部数据调用期间制作微调器的选项。
答案 0 :(得分:1)
根据mobx documentation,应该在mobx操作中执行操作,因此在商店中按照您描述的第一个选项的建议。
他们提供的示例完全符合您的用例:
@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--;
}
}));
}