记录一些React的一些细节,会不断更新

250 阅读2分钟

这都是我对React的理解,放在掘金也只是把它当作一个免费网盘,可以在线翻阅,但会被其他的小伙伴发现,所以如有错误可以指正,请不要批评:)

React是用来构建用户界面的(building user interface),其实说白了在web端React就是写html标签的,不同的组件写好的标签组合成一个整体DOM结构插入到网页中,但为啥不用原生的html写页面呢?因为更新数据不方便呐,html标签中的数据很多情况下都是需要动态更新的,html又没有编程能力,js才有,所以通过原生的js来获取数据更新html标签(就是更新DOM结构及其内容)开销很大,简单来说就是页面很卡,而且开发效率也不高,因为js操作DOM实在是太麻烦了,要不然jQuery当年就不会流行了

所以不用把React想得多了不起,就是用它来写js代码,js代码中生成页面的标签元素,如果数据发生改变,React帮你更新网页上的内容即可,你也不用操作DOM,就用js获取数据处理一下格式把数据塞到React组件的状态里,组件会在状态改变时自己更新DOM结构从而更新网页被用户所发现的

这些特性我是在继承了React.Component的类组件中试验的:

  • 当前组件的state发生改变时,无论render()方法中是否调用了this.state,都会导致render()方法重新执行
  • 如果当前组件中有子组件,则当前组件render()执行时都会导致子组件render()执行
  • 传递给子组件的props改变时也会导致子组件执行render()

Fragment:

import React, { Fragment } from 'react';
const App = () => {
  return (
    <Fragment>
      <div></div>
      <div></div>
    </Fragment>
  )
}
// 等同于下面的写法
const App = () => {
  return (
    <>
      <div></div>
      <div></div>
    </>
  )
}

// 页面渲染:
<div></div>
<div></div>