ES6 =>需要注意的几点

2019-11-01  本文已影响0人  测绘男的杂货铺
  1. =>之后用{},其中必须要return:
[1, 4, -5, 10].find(n => { return n < 0})

=>之后不用{},不需要return:

[1, 4, -5, 10].find(n =>  n < 0)
  1. 由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。
// 报错
let getTempItem = id => { id: id, name: "Temp" };

// 不报错
let getTempItem = id => ({ id: id, name: "Temp" });
  1. 箭头函数可以与变量解构结合使用。
const full = ({ first, last }) => first + ' ' + last;

// 等同于
function full(person) {
  return person.first + ' ' + person.last;
}
  1. dva组件中常见的写法:
export default connect(({ teamCustomerList, loading }) => ({
  teamCustomerList,
  loading: loading.models.teamCustomerList
}))(TeamList)

其中mapStateToProps部分为:

({ teamCustomerList, loading }) => ({
  teamCustomerList,
  loading: loading.models.teamCustomerList
})

=>前面是变量解构,后面是直接返回一个对象。

有关变量解构及alias的用法:

变量的解构赋值(对象的解构赋值,别名,默认值)

# 析构赋值让我们从 Object 或 Array 里取部分数据存为变量。
// 对象
const user = { name: 'guanguan', age: 2 };
const { name, age } = user;
console.log(`${name} : ${age}`);  // guanguan : 2

// 数组
const arr = [1, 2];
const [foo, bar] = arr;
console.log(foo);  // 1

# 我们也可以析构传入的函数参数。
const add = (state, { payload }) => {
  return state.concat(payload);
};

# 析构时还可以配 alias,让代码更具有语义。
const add = (state, { payload: todo }) => {
  return state.concat(todo);
};

参考文章:
1、https://www.jianshu.com/p/3cd9a205ec7c

上一篇 下一篇

猜你喜欢

热点阅读