总结react中常常被忽略的小知识点

1)即使state里设置成和之前的值一样,render也会重新渲染

2)父组件传给子组件的属性(props是只读的,在子组件中已在this.state里将属性赋值给定义的变量),如果属性在父组件中可以操作改变值的话,那么在子组件中就不建议修改,如果属性在父组件不操作,那么在子组件中就可以修改

3)通过bind绑定的函数,收到参数和事件时,事件会在参数后面,示例:

<a  onClick={this.handleClick.bind(this, 'click')}>click</a>

this.handleClick(param, event)   // 事件对象event要放在最后

4)数组元素中的key应该在数组上下文中被指定,即当你使用一个listItem时,你应该将key放在listItem组件上,而不是listItem组件里的元素上

5)数组元素使用的key在其兄弟之间应该是唯一的,但在全局不需要唯一,比如,两个不同的数组的元素的key可以相同

6)在构造函数里定义的变量this.test,当改变this.test时,render不会重新渲染,只有状态机state有更新时,render才会重新渲染

7)构造函数是唯一能够初始化this.state的地方,在其他方法里使用this.state是错误的,一般是通过this.setState()来更新变量

8)jsx会移除空行,开始和结束的空格,字符串常量内部的换行会被压缩成一个空格

React之小知识点总结的更多相关文章

  1. React Native小知识点记录

    1>查看 RN 的所有历史版本: npm view react-native versions -json 2>查看 RN 的当前版本: npm view react-native ver ...

  2. React.js 小书介绍

    React.js 小书 Github 关于作者 这是一本关于 React.js 的小书. 因为工作中一直在使用 React.js,也一直以来想总结一下自己关于 React.js 的一些知识.经验.于是 ...

  3. React.js 小书 Lesson24 - PropTypes 和组件参数验证

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson24 转载请注明出处,保留原文链接和作者信息. 我们来了到了一个非常尴尬的章节,很多初学的朋友 ...

  4. React.js 小书 Lesson16 - 实战分析:评论功能(三)

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson16 转载请注明出处,保留原文链接和作者信息. 接下来的代码比较顺理成章了.修改 Commen ...

  5. React.js 小书 Lesson14 - 实战分析:评论功能(一)

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson14 转载请注明出处,保留原文链接和作者信息. 课程到这里大家已经掌握了 React.js 的 ...

  6. 刚接触Linux,菜鸟必备的小知识点(一)

    身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...

  7. Java学习过程中的总结的小知识点(长期更新)

    Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...

  8. 【转】HTML5的小知识点小集合

    html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...

  9. AngularJS的小知识点

    小知识点:$scope和$rootScope (1)每次使用ngController指令,都会调用控制器的创建函数,创建出一个控制器对象. (2)每次创建一个控制器对象,AngularJS都会创建一个 ...

随机推荐

  1. [转]Express框架

    http://javascript.ruanyifeng.com/nodejs/express.html

  2. Odoo 学习地址

    Odoo官文文档: https://www.odoo.com/zh_cn/page/docs http://www.odoo.com/documentation/8.0/ Odoo中文文档推荐: ht ...

  3. cpu负载的探讨 (转)

    文章出处:http://blog.chinaunix.net/uid-12693781-id-368837.html 摘要:确定cpu的负载的定义,帮助管理员设置cpu负载阀值,推测可能的导致cpu负 ...

  4. sqlserver暂时禁用触发器进行update

    --1.禁用某个表上的所有触发器 ALTER TABLE tbname DISABLE TRIGGER all go --2.执行update语句 update tbname set .... go ...

  5. 获取Javascript 滚动条距离顶部的距离(兼容IE6+,火狐,谷歌,其它没测)

    document.body.scrollTop || document.documentElement.scrollTop

  6. MVC源码分析 - Action/Result 过滤器(续)

    上一篇 看到了Action/Result过滤器的执行顺序: OnActionExecuting -> Action -> OnActionExecuted -> OnResultEx ...

  7. 使用显式的Lock对象取代synchronized关键字进行同步

    Java SE5的java.util.concurrent类库还包含有定义在java.util.concurrent.locks中的显式的互斥机制.Lock对象必须被显式地创建.锁定和释放.因此,它与 ...

  8. OOAD理论知识小结

    软件工程基本概念 软件工程三要素: 方法:完成软件开发的各项任务的技术方法,为软件开发提供 “如何做” 的技术 工具:为运用方法而提供的自动的或半自动的软件工程的支撑环境 过程:为了获得高质量的软件所 ...

  9. Font Awesome(一套很棒的图标库)

    Font Awesome 是一个非常方便的图标库.这些图标都是矢量图形,被保存在 .svg 的文件格式中.这些图标就和字体一样,你可以通过像素单位指定它们的大小,它们将会继承其父HTML元素的字体大小 ...

  10. [NOI 2016]网格

    Description 题库链接 给出一张 \(n\times m\) 的网格,在其中删去 \(c\) 个格子,问至少再删去几个能使得图上存在两点不连通,或输出无解. 多组询问,询问组数 \(T\) ...