JSX (就是 HTML 和 JS 变量混编)
- HTML 本身可以指定给 js 变量
- 使用
{}
可以引用 js 变量 - JSX 可以嵌套
- HTML 标签属性需要转化为驼峰形式, class 为 js 保留字所以转化为 className
1 | import React from "react"; |
组件
1 | // 函数组件, 参数 props |
State
State 可以允许动态修改数据
在类组件 constructor 中初始化 state, constructor 开始时要调用 super(props);
1 | // 定义 |
生命周期
生命周期图: https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
挂载/更新:
- constructor() 创建时调用, 如果不需要 state 则无需此方法
- render() 渲染内容的方法,每个类组件都需要一个 render 方法
- componentDidMount() 当组件挂载到 DOM 节点中之后会调用的一个方法,我们通常在这里发起一些异步操作,用于获取服务器端的数据等
- componentDidUpdate()
卸载:
componentWillUnmount() 组件从 DOM 节点中卸载之前会调用的方法,我们一般在这里面销毁定时器等会导致内存泄露的内容
总结
- JSX, React, React-Dom
- 组件, React.Component, render
- props, state
- constructor, render, componentDidMount, componentDidUpdate