React琐碎
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琐碎的更多相关文章
- React 设计思想
https://github.com/react-guide/react-basic React 设计思想 译者序:本文是 React 核心开发者.有 React API 终结者之称的 Sebasti ...
- React中类定义组件constructor 和super
刚开始学习React没多久,在老师的教程里看到了类组件的使用示例,但是和资料上有些冲突,而引发了一些疑问: 类组件中到底要不要定义构造函数constructor()? super()里边到底要不要传入 ...
- 【译】在React中实现条件渲染的7种方法
原文地址:https://scotch.io/tutorials/7-ways-to-implement-conditional-rendering-in-react-applications 借助R ...
- 【独家】React Native 版本升级指南
前言 React Native 作为一款跨端框架,有一个最让人头疼的问题,那就是版本更新.尤其是遇到大版本更新,JavaScript.iOS 和 Android 三端的配置构建文件都有非常大的变动,有 ...
- 转换 React 为TypeScript
转换 React 为TypeScript JavaScript import React from 'react'; import PropTypes from 'prop-types'; class ...
- React 并发功能体验-前端的并发模式已经到来。
React 是一个开源 JavaScript 库,开发人员使用它来创建基于 Web 和移动的应用程序,并且支持构建交互式用户界面和 UI 组件.React 是由 Facebook 软件工程师 Jord ...
- react组件的生命周期
写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: f ...
- 十分钟介绍mobx与react
原文地址:https://mobxjs.github.io/mobx/getting-started.html 写在前面:本人英语水平有限,主要是写给自己看的,若有哪位同学看到了有问题的地方,请为我指 ...
- RxJS + Redux + React = Amazing!(译一)
今天,我将Youtube上的<RxJS + Redux + React = Amazing!>翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: https:/ ...
随机推荐
- 返回指针的函数 ------ 指针函数(pointer function)
指针函数: 其本质是一个函数, 其函数返回值为某一类型的指针. 定义形式: 类型 *指针变量名(参数列表): 例如: int *p(int i,int j); p是一个函数名,该函数有2个整形参数,返 ...
- L2-010. 排座位(并查集)*
L2-010. 排座位 参考博客 #include<iostream> #include<math.h> using namespace std; ]; ][]; int fi ...
- What is the CocoaUI ?
http://www.cocoaui.com/en https://github.com/ideawu/cocoaui 传统的 iOS 应用由于苹果自身的技术所限, 无法实现丰富的 UI 换皮肤(主题 ...
- linux c 获取console 结果
getLine(char *line, const char *cmd) { FILE *pf = popen(cmd, "r"); if (pf == NULL) { ; } f ...
- 深入学习Motan系列(四)—— 客户端
困惑的袋鼠,对框架的把握有些茫然,但是仍然一步步向前,行动总比一直迷茫停止不前要好,您说呢,各位客官? 这篇开始客户端的分析.有些地方的代码,就不每段都标出了,中间有跳跃的地方,请自己对照代码来看.鄙 ...
- 快速排序的两种实现 -- 种轴partition : 比值partition(更精巧)
实现1:种轴partition,not in place--取定枢轴,将小于等于枢轴的放到枢轴左边,大于枢轴的放到右边 # python algorithm en_2nd edition p125de ...
- jsp后台取出request请求头
请求发到a2这个servlet 在这个servlet中请求转发到index.jsp 在jsp中如下的java代码 Enumeration headernames=request.getHeaderNa ...
- H3C交换机限制子网之间的相互访问
acl number 3000 rule 1 permit ip source 10.0.5.0 0.0.0.255 destination 172.16.1.100 0 #允许10.0. ...
- Pytho, struct处理二进制(pack和unpack)
[转]Python使用struct处理二进制(pack和unpack用法) Leave a reply 转载自:http://www.cnblogs.com/gala/archive/2011/09/ ...
- Centos7更改yum源
每次都要百度一番,还不如自己做个记录,简单粗暴,哈哈哈哈 cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.old wget http: ...