阮一峰的ES6教程
1.对象的解构赋值常用
对象的解构赋值,可以很方便地将现有对象的方法,赋值到某个变量。
let { log, sin, cos } = Math;
上面代码将Math对象的对数、正弦、余弦三个方法,赋值到对应的变量上,使用起来就会方便很多。注意变量一定要和对象的属性名相同比如下面这种写法,来提取对象的属性值
let jsonData = {
id: 42,
status: "OK",
data: [867, 5309]
};
let { id, status, data: number } = jsonData;
console.log(id, status, number);
// 42, "OK", [867, 5309]
2.Mobx的理解
如果你使用async function来处理业务,那么我们可以使用runInAction
这个API来解决之前的问题。
import {observable, action, useStrict, runInAction} from 'mobx';
useStrict(true);
class Store {
@observable name = '';
@action load = async () => {
const data = await getData();
runInAction(() => {
this.name = data.name;
});
}
}
你可以把runInAction
有点类似action(fn)()
的语法糖,调用后,这个action
方法会立刻执行。