JavaScript(基于react+dva)

本文详细介绍了ES6中新增的重要特性,包括变量声明方式如const和let、模板字符串的使用、默认参数设置、箭头函数的语法糖、模块的导入导出、对象和数组的新特性如析构赋值及Spread Operator、Promise的异步处理方式以及Generators的使用方法等。

 变量声明

const 和 let:分别表示常量和变量

模板字符串

const user = 'world';

console.log(`hello ${user}`); // hello world

默认参数

function logActivity(activity = 'skiing') {

  console.log(activity);

}

logActivity(); // skiing

箭头函数

[1, 2, 3].map(x => x + 1); // [2, 3, 4]

模块的 Import 和 Export

// 引入全部
import dva from 'dva';
// 引入部分
import { connect } from 'dva';
// 引入全部并作为 Icon 对象
import * as Icon from './Icon';
// 导出默认
export default App;
// 部分导出,需 import { App } from './file'; 引入
export class App extend Component {};

ES6 对象和数组

  析构赋值
  const { name, age } = user;
  const [foo, bar] = arr;
  对象字面量改进(析构的反向操作)
  const name = 'duoduo';
  const age = 8;
  const user = { name, age };
  Spread Operator(即 3 个点 ...)   
  const todos = ['Learn dva'];
  [...todos, 'Learn antd'];  // ['Learn dva', 'Learn antd']

Promises

  Promise 用于更优雅地处理异步请求

Generators

  dva 的 effects 是通过 generator 组织的

  Generator 返回的是迭代器,通过 yield 关键字实现暂停功能,把异步逻辑通过同步的方式组织起来

  app.model({
    namespace: 'users',
    effects: {
      *fetch({ payload: {page = 1}}, { put, call }) {
        const { data } = yield call(users.fetch, { page });
        yield put({ type: 'save', payload: data });
      },
    },
  });
 

转载于:https://www.cnblogs.com/JunneHu/p/JunneHu.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值