IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> React 生命周期-常用篇 -> 正文阅读

[JavaScript知识库]React 生命周期-常用篇

render()

render: class中唯一必须实现的方法

当?render?被调用时,它会检查?this.props?和?this.state?的变化并返回以下类型之一:

  • React 元素。通常通过 JSX 创建。例如,<div />?会被 React 渲染为 DOM 节点,<MyComponent />?会被 React 渲染为自定义组件,无论是?<div />?还是?<MyComponent />?均为 React 元素。
  • 数组或 fragments。 使得 render 方法可以返回多个元素。
  • Portals。可以渲染子节点到不同的 DOM 子树中。
  • 字符串或数值类型。它们在 DOM 中会被渲染为文本节点
  • 布尔类型或?null。什么都不渲染。(主要用于支持返回?test && <Child />?的模式,其中 test 为布尔类型。)

render()?函数应该为纯函数,这意味着在不修改组件 state 的情况下,每次调用时都返回相同的结果,并且它不会直接与浏览器交互。

如需与浏览器进行交互,请在?componentDidMount()?或其他生命周期方法中执行你的操作。保持?render()?为纯函数,可以使组件更容易思考。

constructor()

constructor: 如果不初始化state或者不进行方法绑定,则可以不需要使用该方法

初始化示例

constructor(props) {
        super(props);
        this.state = {

        };
    }

这里要非常注意一点不要将props的值赋给state,因为这样修改props的值时state并不会跟着一起改变,完全可以直接使用props.name,而不是像下方这样赋值

错误示例

constructor(props) {
        super(props);
        this.state = {
            name: props.name
        };
    }

如果项目中state依赖props,请点击下方链接查看解决方案

你可能不需要使用派生 state – React Bloghttps://zh-hans.reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html

componentDidMount: 会在组件挂在后立即调用,这个生命周期适合发起请求和初始化

componentDidMount()

componentDidUpdate: 会在更新后立即调用,首次渲染时不会触发

componentDidUpdate()

componentWillUnmout(): 会在组件卸载及销毁前直接调用。请在此方法中执行必要的清除操作

componentWillUnmout()

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-18 15:53:03  更:2021-12-18 15:55:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:35:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码