zoukankan      html  css  js  c++  java
  • react小知识2

    概述

    这是我学习react的过程中,学到的一些简便写法,都是利用了es6的特性,记录下来供以后开发时参考,相信对其他人也有用。

    参考资料:dva.js 知识导图

    析构

    我们也可以析构传入的函数参数

    const add = (state, { payload }) => {
      return state.concat(payload);
    };
    

    还可以代替apply。(在es6之前,我们一般都是用apply来把数组类型的参数引用给函数的。)

    function foo(x, y, z) {}
    const args = [1,2,3];
    
    // 下面两句效果相同
    foo.apply(null, args);
    foo(...args);
    

    对象字面量的改进,这是析构的反向操作,用于组装一个object。

    const name = 'duoduo';
    const age = 8;
    
    const user = { name, age };  // { name: 'duoduo', age: 8 }
    

    还可以收集函数参数为数组:

    function directions(first, ...rest) {
      console.log(rest);
    }
    directions('a', 'b', 'c');  // ['b', 'c'];
    

    spread attributes

    这是jsx从es6借鉴过来的很有用的特性,用于扩充组件的props

    const attrs = {
      href: 'http://example.org',
      target: '_blank',
    };
    <a {...attrs}>Hello</a>
    
    //等同于
    
    const attrs = {
      href: 'http://example.org',
      target: '_blank',
    };
    <a href={attrs.href} target={attrs.target}>Hello</a>
    

    定义promise

    const delay = (timeout) => {
      return new Promise(resolve => {
        setTimeout(resolve, timeout);
      });
    };
    
    delay(1000).then(_ => {
      console.log('executed');
    });
    

    函数组件

    React组件有 3 种定义方式:React.createClass,class和Stateless Functional Component,其中Stateless Functional Component是函数,不是 Object,没有 this 作用域,是 pure function。

    注释

    尽量别用 // 做单行注释

    <h1>
      {/* multiline comment */}
      {/*
        multi
        line
        comment
        */}
      {
        // single line
      }
      Hello
    </h1>
    
  • 相关阅读:
    自己做的关于select工具根据属性进行选择
    ae中栅格数据转为矢量数据
    影像图配准代码实现
    ae中最短路径分析
    AE常见接口之间的关系+常见概念 .
    GIS重要概念与术语(转)
    点线面缓冲分析(转自esri中国社区)
    ae中矢量数据转换成栅格数据
    单例模式
    利用gp自己做的生成缓冲区的代码
  • 原文地址:https://www.cnblogs.com/yangzhou33/p/9085948.html
Copyright © 2011-2022 走看看