博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React零碎知识点回顾
阅读量:5284 次
发布时间:2019-06-14

本文共 2183 字,大约阅读时间需要 7 分钟。

1、JSX更接近于js而不是HTML,所以React DOM使用驼峰属性命名规则来取代原来的HTML属性名。

2、JSX的本质是个函数对象。下面两个例子是相似的:

const element = (  

Hello, world!

);
const element = React.createElement(  'h1',  {className: 'greeting'},  'Hello, world!');

3、将一个React元素渲染到根节点里,通过ReactDOM.render()。

4、局部更新:React DOM会将元素和子元素与之前的状态比较,然后只更新必要的部分使DOM变为所希望的状态。

5、React组件的首写字母必须大写。举个例子,<div/>代表一个DOM标签,但是<Welcome />代表一个一个组件。

6、正确使用state:避免使用this.state.name=value的方式来更新state,这样并不会重新渲染DOM。采用this.setState方式。

7、调用this.setState后state的值可能不会立即改变。更安全的做法是使用函数做为setState的参数。

this.setState((prevState, props) => ({  counter: prevState.counter + props.increment}));

8、组件的render方法返回null不会影响组件的生命周期方法的运行。比如,componentWillUpdate和componentDidUpdate将一直被调用。

9、关列列表:key帮助React鉴别哪一项发生了改变,添加了,或者移除了。key应该添加在数组里的元素身上作为一个稳定的特性。

10、HTML表单(form)和 React托管的表单略有不同。两种获取值的方式也不同:

//通过state管理value //通过refs管理value 
{ this.textInput = input; }} />

11、PropTypes已经被新版本React移除了,请独立安装并使用'prop-types'库。

12、正确使用ref属性。字符串refs已经不推荐使用,请使用行间函数的方式指定ref。

13、在React渲染的生命周期中,表单元素中的value属性会重写DOM中的元素。而使用非控制组件,你经常想要让React指定初始value值,但是让之后的值来更新非控制组件。

  为了解决这个问题,你可以指定defaultValue属性替代value值:

//控制组件:用React的state来控制表单元素的value值; //非控制组件:表单数据就被DOM本身所处理 render() {  return (    
);}

14、不使用ES6:

//使用es的写法:
class Greeting extends React.Component {
  constructor(props) {    //设置初始化state      super(props);      this.state = {count: props.initialCount};    }
  Greeting.propTypes = {    //设置初始化prop类型    name: React.PropTypes.string  };  Greeting.defaultProps = {    //设置默认props值    name: 'Mary'  };
  render() {     //事件需要手动绑定this     return 

Hello, {this.props.name}

;   } }
//不使用es6的写法:
var Greeting = React.createClass({
  propTypes: {    //设置初始化prop类型      name: React.PropTypes.string   },
  getInitialState: function() {    //设置默认state      return {
      count: this.props.initialCount      };  },
   getDefaultProps: function() {    //设置默认props      return {          name: 'Mary'         };     },
  render: function() {     //自动绑定当前this     return 

Hello, {this.props.name}

  } });

15、react并不推荐使用context,如果你没有用的context,那么恭喜你。

转载于:https://www.cnblogs.com/newh5/p/6882709.html

你可能感兴趣的文章
shell脚本统计文件中单词的个数
查看>>
SPCE061A学习笔记
查看>>
sql 函数
查看>>
hdu 2807 The Shortest Path 矩阵
查看>>
熟悉项目需求,要知道产品增删修改了哪些内容,才会更快更准确的在该项目入手。...
查看>>
JavaScript 变量
查看>>
java实用类
查看>>
smarty模板自定义变量
查看>>
研究称90%的癌症由非健康生活习惯导致
查看>>
命令行启动Win7系统操作部分功能
查看>>
排序sort (一)
查看>>
Parrot虚拟机
查看>>
Teamcenter10 step-by-step installation in Linux env-Oracle Server Patch
查看>>
Struts2学习(三)
查看>>
Callable和Runnable和FutureTask
查看>>
GitHub 多人协作开发 三种方式:
查看>>
文本域添加编辑器
查看>>
Yum安装MySQL以及相关目录路径和修改目录
查看>>
java获取hostIp和hostName
查看>>
关于web服务器和数据库的各种说法(搜集到的)
查看>>