React旧有生命周期和新生命周期的解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: React旧有生命周期和新生命周期的解析

React组件生命周期(旧有格式)

新的生命周期

下面是旧有声明周期的案例演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/react.development.js"></script>
    <script src="../js/react-dom.development.js"></script>
    <script src="../js/babel.min.js"></script>
    <script src="../js/prop-types.js"></script>
</head>
<body>
    <div id="test"></div>
    <!-- 制作组件 -->
    <script type="text/babel">
        class Count extends React.Component{
            //构造器;
            constructor(props){
                console.log('我是构造器');
                super(props);
                //初始状态;因为在构造器内部,所以,需要加this关键字;
                this.state={count:0};
            }
            //组件将要挂载;
            componentWillMount(){
                console.log('组件将要挂载...');
            }
            //加1按钮的回调;
            add = () => {
                //获取原始状态;
                const{count}=this.state;
                //更新状态;
                this.setState({count:count+1});
            }
            death= () => {
                ReactDOM.unmountComponentAtNode(document.getElementById('test'));
            }
            //挂载完毕;
            componentDidMount(){
                console.log('组件挂载完毕...');
            }
            //卸载组件;
            componentWillUnmount(){
                console.log('组件卸载了...');
            }
            //组件更新
            shouldComponentUpdate(){
                console.log('shouldComponentUpdate...');
                return true;
            }
            //组件将要更新
            componentWillUpdate(){
                console.log('componentWillUpdate...');
            }
            //组件更新
            componentDidUpdate(){
                console.log('componentDidUpdate...');
            }
            //强制更新;
            force= () => {
                this.forceUpdate();
            }
            //渲染;
            render(){
                console.log('render');
                const {count}=this.state;  //这句不要忘了加
                return(
                    <div>
                        <h2>当前求和是:{count}</h2>
                        <button onClick={this.add}>按钮测试</button>
                        <button onClick={this.death}>卸载组件</button>
                        <button onClick={this.force}>强制更新</button>
                    </div>
                );
            }
        }
        //调用;
        ReactDOM.render(<Count/>,document.getElementById('test'));
    </script>
</body>
</html>


目录
相关文章
|
16天前
|
前端开发 JavaScript
React Hooks 全面解析
【10月更文挑战第11天】React Hooks 是 React 16.8 引入的新特性,允许在函数组件中使用状态和其他 React 特性,简化了状态管理和生命周期管理。本文从基础概念入手,详细介绍了 `useState` 和 `useEffect` 的用法,探讨了常见问题和易错点,并提供了代码示例。通过学习本文,你将更好地理解和使用 Hooks,提升开发效率。
51 4
|
17天前
|
缓存 JavaScript 前端开发
Vue3与Vue2生命周期对比:新特性解析与差异探讨
Vue3与Vue2生命周期对比:新特性解析与差异探讨
66 2
|
19天前
|
前端开发
深入解析React Hooks:构建高效且可维护的前端应用
本文将带你走进React Hooks的世界,探索这一革新特性如何改变我们构建React组件的方式。通过分析Hooks的核心概念、使用方法和最佳实践,文章旨在帮助你充分利用Hooks来提高开发效率,编写更简洁、更可维护的前端代码。我们将通过实际代码示例,深入了解useState、useEffect等常用Hooks的内部工作原理,并探讨如何自定义Hooks以复用逻辑。
|
22天前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
118 2
|
20天前
|
前端开发 JavaScript
React 组件生命周期
React 组件生命周期
29 0
|
1天前
|
前端开发 JavaScript
react 组件的生命周期
React组件的生命周期包括从创建到销毁的各个阶段,如挂载(mounting)、更新(updating)和卸载(unmounting)。每个阶段都有特定的方法,用于控制组件的行为和状态,确保高效、有序地渲染和管理UI。
|
23天前
|
JavaScript 前端开发 算法
React 虚拟 DOM 深度解析
【10月更文挑战第5天】本文深入解析了 React 虚拟 DOM 的工作原理,包括其基础概念、优点与缺点,以及 Diff 算法的关键点。同时,分享了常见问题及解决方法,并介绍了作者在代码/项目上的成就和经验,如大型电商平台的前端重构和开源贡献。
44 3
|
22天前
|
存储 前端开发 JavaScript
深入理解React组件的生命周期与Hooks
【10月更文挑战第7天】深入理解React组件的生命周期与Hooks
63 0
|
22天前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
55 0
|
22天前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
47 0

推荐镜像

更多