概述

这是我学习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>

react小知识2的更多相关文章

  1. react小知识

    概述 有句话说得很好,代码是写给人看的,顺便让机器执行而已.所以我总结了一些写react不太注意的地方,供以后开发时参考,相信对其他人也有用. 组件封装 由于组件其实就是React.createEle ...

  2. react组件中的constructor和super小知识

    react组件中的constructor和super小知识 1.react中用class申明的类一些小知识 如上图:类Child是通过class关键字申明,并且继承于类React. A.Child的类 ...

  3. React Native环境配置、初始化项目、打包安装到手机,以及开发小知识

    1.前言 环境:Win10 + Android 已经在Windows电脑上安装好 Node(v14+).Git.Yarn. JDK(v11) javac -version javac 11.0.15. ...

  4. 蓝牙Bluetooth技术小知识

    蓝牙Bluetooth技术以及广泛的应用于各种设备,并将继续在物联网IoT领域担任重要角色.下面搜集整理了一些关于蓝牙技术的小知识,以备参考. 蓝牙Bluetooth技术始创于1994年,其名字来源于 ...

  5. HTML+CSS中的一些小知识

    今天分享一些HTML.CSS的小知识,希望能够对大家有所帮助! 1.解决网页乱码的问题:最重要的是要保证各个环节的字符编码一致! (1)编辑器的编辑环境的字符集(默认字符集):Crtl+U 常见的编码 ...

  6. iOS APP开发的小知识(分享)

          亿合科技小编发现从2007年第一款智能手机横空出世,由此开启了人们的移动智能时代.我们从一开始对APP的陌生,到现在的爱不释手,可见APP开发的出现对我们的生活改变有多巨大.而iOS AP ...

  7. Unix系统小知识(转)

    Unix操作系统的小知识 2.VI添加行号/翻页/清屏 .在对话模式时(即输完Esc再输入: ),输入“:set number”可以将编辑的文本加上行号.跟玩俄罗斯方块一样方便的上下左右移动箭头的快捷 ...

  8. salesforce 零基础开发入门学习(十)IDE便捷小知识

    在这里介绍两个IDE的便捷开发的小知识. 一) 本地调试 由于salesforce代码只能提交以后才能调试,所以很多时候调试代码很麻烦.新版增加了一个特性:即可以在本地调试相关的代码或者查看相关代码运 ...

  9. Jquery:小知识;

    Jquery:小知识: jQuery学习笔记(二):this相关问题及选择器   上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理 ...

随机推荐

  1. win7频繁提示资源管理器已停止工作解决办法

    方法一,重新启动资源管理器,右键点击桌面下方的“任务栏”空白区,在弹出的菜单栏中选择“任务管理器”.   进入任务管理器,点击上方的“文件”,选择新建任务.   在弹出的对话框中,输入explorer ...

  2. cxGrid类似pagecontrol的效果

    1.对TcxGrid创建多个Level 2.对TcxGrid的TcxGridLevelOptions的TabsForEmptyDetail设置为True 3.再设置DetailTabsPosition ...

  3. 应用脚手架创建一个React项目

    安装脚手架,这里会自动安装到你的nodejs里面 npm install create-react-app -g 进入创建目录 我这里创建一个为 react03的项目,等待下载..... create ...

  4. SQL Server error

    原因:文件没有权限 出错: TITLE: Microsoft SQL Server Management Studio------------------------------ Attach dat ...

  5. 关于spfa

    关于spfa的一些事宜.... 刚开始学的时候只会跑最短路,代码都是背下来的.以下是背的代码... inline void spfa(int s) { queue<int>q;q.push ...

  6. 最新WordConut

    一.代码地址:https://gitee.com/cainiaoY/WordCount 二.项目分析:代码根据实现的功能不同分为两个模块,一个wcFuctiong类,一个wcTest类,其中wcFuc ...

  7. 在ASP.NET MVC中使用Area区域

    在大型的ASP.NET mvc5项目中一般都有许多个功能模块,这些功能模块可以用Area(中文翻译为区域)把它们分离开来,比如:Admin,Customer,Bill.ASP.NET MVC项目中把各 ...

  8. 100-days: seventeen

    Title: How 'Bohemian Rhapsody(波西米亚狂想曲)' ended up in 'Wayne's World(反斗智多星)' and became a phenomenon(现 ...

  9. 手动添加jar包到本地maven仓库

    我们都知道使用maven管理jar包的时候,我们需要到远程仓库下载相关的jar包到本地仓库,但是如果远程仓库没有这个jar包呢?这时候我们就需要手动将jar包添加到本地仓库. 起因是我想用百度的富文本 ...

  10. project1

    知识漏洞  有空就默写一下-.- [概念] 要好好理解并且背下来记住 MVC要分开,Servlet里面不处理计算的逻辑,只有调用函数(是不是变量传进来以后,调用都不能有呢?) clear map不能直 ...