1 dangerouslySetInnerHTML

使用此属性的原因是得到一个安全的数据,生成一个仅包含唯一key——__html的对象,表明这段内容会被当成text/taint使用,它的使用方式是这样的:

<div dangerouslySetInnerHTML={{this.props.xx}} />

代码中写成<div />的形式,一是为了防止出错,二是假设在<div dangerouslySetInnerHTML={{this.props.xx}}>123</div>之间添加内容是错误的,去掉123就正常,且空格也是不允许的.

使用此属性的理由是为了方式XSS(cross-site scripting)攻击,让代码更加安全.

2.ReactDOM.unmountComponentAtNode

ReactDOM.unmountComponentAtNode(DOMele)作用是销毁指定容器内的所有React节点,但是它仅限于销毁类似于ReactDOM.render(<app />,document.getElementById('app'))中的容器内部的节点,通过react产生的节点使用此方法会报如下错误:

ReactDOM.unmountComponentAtNode(ReactDOM.findDOMNode(this.refs.remove));

warning.js:36 Warning: unmountComponentAtNode(): The node you're attempting to unmount was rendered by React and is not a top-level container. Instead, have the parent component update its state and rerender in order to remove this component.

3.bind与() => {}

在对render下面的方法执行调用方法的时候,假如果需要对this进行调用,那么需要使用this.xx.bind(that)进行绑定,或者直接采用箭头函数() => {this.xx()},这样做是为了限制作用域,否则在某些情况下调用的this并非实际预想输出结果.

4.map()与key

当在react中使用map函数渲染list时,最好指定每一项的唯一key,它可以帮助react标识每一项的状态变化。

5.ref属性

在使用ref属性时遇到一个小坑,按照最新react规范一般都采用类式组件,所以ref可以随意使用;可是在使用了函数式的组件后,完全失效,原因在于他们是没有实例的。它有个不成文的写法:ref={node => this.dom = node},一些使用情况:

    • 处理focus、文本选择或者媒体播放
    • 触发强制动画
    • 集成第三方DOM库

React琐碎的更多相关文章

  1. React 设计思想

    https://github.com/react-guide/react-basic React 设计思想 译者序:本文是 React 核心开发者.有 React API 终结者之称的 Sebasti ...

  2. React中类定义组件constructor 和super

    刚开始学习React没多久,在老师的教程里看到了类组件的使用示例,但是和资料上有些冲突,而引发了一些疑问: 类组件中到底要不要定义构造函数constructor()? super()里边到底要不要传入 ...

  3. 【译】在React中实现条件渲染的7种方法

    原文地址:https://scotch.io/tutorials/7-ways-to-implement-conditional-rendering-in-react-applications 借助R ...

  4. 【独家】React Native 版本升级指南

    前言 React Native 作为一款跨端框架,有一个最让人头疼的问题,那就是版本更新.尤其是遇到大版本更新,JavaScript.iOS 和 Android 三端的配置构建文件都有非常大的变动,有 ...

  5. 转换 React 为TypeScript

    转换 React 为TypeScript JavaScript import React from 'react'; import PropTypes from 'prop-types'; class ...

  6. React 并发功能体验-前端的并发模式已经到来。

    React 是一个开源 JavaScript 库,开发人员使用它来创建基于 Web 和移动的应用程序,并且支持构建交互式用户界面和 UI 组件.React 是由 Facebook 软件工程师 Jord ...

  7. react组件的生命周期

    写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: f ...

  8. 十分钟介绍mobx与react

    原文地址:https://mobxjs.github.io/mobx/getting-started.html 写在前面:本人英语水平有限,主要是写给自己看的,若有哪位同学看到了有问题的地方,请为我指 ...

  9. RxJS + Redux + React = Amazing!(译一)

    今天,我将Youtube上的<RxJS + Redux + React = Amazing!>翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: https:/ ...

随机推荐

  1. idea2018+maven+web新手maven指南

    CSDN上的博主详细的很 https://blog.csdn.net/hncu1306602liuqiang/article/details/82356097

  2. windows常用命令积累

    命令行可以对文件进行操作,copy 路径\文件名 路径\文件名,复制文件:move 路径\文件名 路径\文件名,移动文件:del 文件名,删除文件. cd与dir命令,dir命令显示当前目录下的文件及 ...

  3. 几个特殊的IP地址

    1)私有地址     IP地址在全世界范围内唯一,看到这句话你可能有这样的疑问,像192.168.0.1这样的地址在许多地方都能看到,并不唯一,这是为何?Internet管理委员会规定如下地址段为私有 ...

  4. 洛谷P1605:迷宫(DFS)

    题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫中移动有上下左右 ...

  5. 软件工程 week 05

    关于 石墨文档客户端 的案例分析 作业地址:https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505 一.调研测评 测试平台:Windows 1 ...

  6. 处理csv和json数据

    CSV是以逗号为分隔符,存储数据的文件. 流程:1.filename存储文件名.2.打开文件并存储在文件对象f中.3.将f传递给csv.reader()创建阅读器对象.4.next()获取第一行. e ...

  7. WIdo联网代码中文注释

    代码如下 /*************************************************** 这是一个例子的dfrobot维多-无线集成物联网建兴传感器和控制节点 *产品页面及更 ...

  8. python------SocketServer (0809)

    socket(一对一) 与socketserver 一.socketserver 1. 正式定义:The socketserver module simplifies the task of writ ...

  9. oracle-logminer

    LogMiner工具实际上是由两个新的PL/SQL内建包((DBMS_LOGMNR 和 DBMS_ LOGMNR_D)和四个V$动态性能视图(视图是在利用过程DBMS_LOGMNR.START_LOG ...

  10. Written a lua threadpool

    工作原理 由于lua只能单线程运行,该lib要求所有lua代码在单线程,而多线程部分只能为c代码 具体用法上要求多线程部分必须用c实现 相关模块 线程池 异步函数实现框架 Now only a sle ...