190322&React 的核心概念有哪些

React 的核心概念有哪些

说说对 react 的理解,核心概念有哪些。

  • Diff 算法
  • 组件
  • JSX
  • Props & State
  • 组件 API
  • 组件类型
  • 高阶组件
  • 生命周期

Diff 算法

React 通过 updateDepth 对 Virtual Dom 树 进行层级控制,只会对相同颜色方框内的 DOM 节点进行比较,即同一个父节点下的所有子节点。当发现节点已经不存在,则该节点及其子节点会被完全删除掉,不会用于进一步的比较。这样只需要对树进行一次遍历,便能完成整个 DOM 树的比较

  • React 的 Diff 算法

组件

编写的所有 React 代码基本上就是一个包含许多小组件在内的大组件。
React 组件:能够像原生的 HTML 标签一样输出特定的界面元素,并且也能包括一些元素相关逻辑功能的代码

  • 详解 React 的组件

JSX

React 的一种特定语法扩展,可以将 HTML 和 JS 代码全都写在一起。
按照传统来说,代码应尽可能的分离,HTML 和 JS 代码分开才是。

  • React 的 JSX

Props & State

React 的属性被称为 Props(properties 的缩写)
作用是:可以让组件之间通过 Props 进行交互。
当然了,也正因为如此,React 当中的数据流是单向的:数据只能从父组件传向子组件,反过来则不行。
这就尴尬了,组件只能从父组件传向子组件吗?非也,state 就是解决这个问题的。

  • React 的 Props & State

组件 API

还记得上几个概念中提到的 render 和 setState 方法吗?它们都包含在 React 组件 API 方法之中。还有一个比较有用的方法 constructor。
除了这 3 个方法之外,React 还提供了一些按照特定次序触发的生命周期函数等。

  • React 的组件 API

组件类型

函数式组件写法更简单,但是没有 state,不能使用 setState 方法,也被称作是无状态组件。
不同组件类型也就延伸除了组件角色的概念。容器组件和展示组件。分别处理不同的业务逻辑。
区分处理 UI 和数据逻辑的组件是一种很好的开发实践。

  • React 的组件类型

高阶组件

高阶组件(Higher-order components 通常缩写为 HOCS)
可以理解为一个工厂方法。
高阶组件函数可以传入一个组件并为其赋予更多功能。

  • React 的高阶组件

生命周期

具体分为四种情况:

  • 1.当首次装载组件时,按顺序执行 getDefaultProps、getInitialState、componentWillMount、render 和 componentDidMount;

  • 2.当卸载组件时,执行 componentWillUnmount

  • 3.当重新装载组件时,此时按顺序执行 getInitialState、componentWillMount、render 和 componentDidMount,但并不执行 getDefaultProps.

  • 4.当再次渲染组件时,组件接收到更新状态,此时按顺序执行 componentWillReceiveProps、- shouldComponentUpdate、componentWillUpdate、render 和 componentDidUpdate。

  • React 的 生命周期

参考

掌握这 5 大核心概念,你就理解了 React
React 框架精髓
React 面试必会–React 的 Diff 算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向阳敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值