React是一个用于构建用户界面的JavaScript库,尤其适合构建单页面应用(SPA)。它基于组件化的开发思想,主要特点是通过虚拟DOM来提高渲染效率。以下是React的核心知识和使用场景:
一. 核心知识
-
组件化:
- 类组件和函数组件:React的组件分为类组件和函数组件。类组件通过继承
React.Component
类来定义,而函数组件则使用普通的JavaScript函数来定义。 - JSX:JSX是React的语法扩展,它允许在JavaScript中写HTML代码,React会将JSX转换为
React.createElement
调用。
- 类组件和函数组件:React的组件分为类组件和函数组件。类组件通过继承
-
虚拟DOM:
- React通过虚拟DOM来提高性能,所有的UI更新都首先应用到虚拟DOM中,然后与真实DOM进行对比,最终只将发生变化的部分更新到真实DOM上,从而减少了不必要的DOM操作。
-
状态(State)和属性(Props):
- State:状态是组件内部的数据,是组件的私有数据,每当状态改变时,组件会重新渲染。
- Props:属性是组件的外部输入,它是由父组件传递给子组件的数据,子组件不能修改props。
-
生命周期方法:
- React组件的生命周期包含挂载、更新和卸载三个阶段。常用的生命周期方法有
componentDidMount
、shouldComponentUpdate
、componentDidUpdate
、componentWillUnmount
等。
- React组件的生命周期包含挂载、更新和卸载三个阶段。常用的生命周期方法有
-
Hooks:
- Hooks是React 16.8版本引入的一种新特性,主要用于函数组件中,提供了类似类组件中的状态和生命周期功能。常用的hooks包括
useState
、useEffect
、useContext
等。
- Hooks是React 16.8版本引入的一种新特性,主要用于函数组件中,提供了类似类组件中的状态和生命周期功能。常用的hooks包括
-
事件处理:
- React的事件处理是基于虚拟DOM的,所有事件都通过React的合成事件系统进行处理,避免了直接操作DOM带来的性能问题。
-
条件渲染:
- 在React中,你可以根据条件选择渲染不同的UI组件,常用的方法有
if
语句、ternary operator
(三目运算符)和&&
运算符等。
- 在React中,你可以根据条件选择渲染不同的UI组件,常用的方法有
-
表单处理:
- React中表单控件的值由组件的state管理,称为受控组件