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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 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>


目录
相关文章
|
5天前
|
Web App开发 监控 前端开发
React音频播放控制组件开发深度解析
本文介绍了构建React音频控制组件时遇到的关键问题及优化方案。主要包括: 1. **状态同步难题**:解决播放按钮与音频状态不同步的问题,通过双向绑定机制确保一致。 2. **跨浏览器兼容性**:处理Safari和Chrome预加载策略差异,确保`duration`属性正确获取。 3. **进度控制优化**:避免使用`setInterval`,采用`requestAnimationFrame`提升性能;优化拖拽交互,防止音频卡顿。 4. **音量控制进阶**:实现渐变音量调节和静音状态同步。
50 15
|
2月前
|
前端开发 JavaScript
React 步骤条组件 Stepper 深入解析与常见问题
步骤条组件是构建多步骤表单或流程时的有力工具,帮助用户了解进度并导航。本文介绍了在React中实现简单步骤条的方法,包括基本结构、状态管理、样式处理及常见问题解决策略,如状态管理库的使用、自定义Hook的提取和CSS Modules的应用,以确保组件的健壮性和可维护性。
83 17
|
2月前
|
前端开发 UED
React 文本区域组件 Textarea:深入解析与优化
本文介绍了 React 中 Textarea 组件的基础用法、常见问题及优化方法,包括状态绑定、初始值设置、样式自定义、性能优化和跨浏览器兼容性处理,并提供了代码案例。
102 8
|
3月前
|
前端开发 JavaScript
React Hooks 深入解析
React Hooks 深入解析
46 0
|
3月前
|
存储 Kubernetes 调度
深度解析Kubernetes中的Pod生命周期管理
深度解析Kubernetes中的Pod生命周期管理
|
3月前
|
前端开发 JavaScript
react 组件的生命周期
React组件的生命周期包括从创建到销毁的各个阶段,如挂载(mounting)、更新(updating)和卸载(unmounting)。每个阶段都有特定的方法,用于控制组件的行为和状态,确保高效、有序地渲染和管理UI。
|
4月前
|
前端开发 JavaScript
React Hooks 全面解析
【10月更文挑战第11天】React Hooks 是 React 16.8 引入的新特性,允许在函数组件中使用状态和其他 React 特性,简化了状态管理和生命周期管理。本文从基础概念入手,详细介绍了 `useState` 和 `useEffect` 的用法,探讨了常见问题和易错点,并提供了代码示例。通过学习本文,你将更好地理解和使用 Hooks,提升开发效率。
122 4
|
3月前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
280 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
3月前
|
前端开发 JavaScript 开发者
使用React和Redux构建高效的前端应用
使用React和Redux构建高效的前端应用
71 1
|
3月前
|
前端开发 JavaScript 开发者
颠覆传统:React框架如何引领前端开发的革命性变革
【10月更文挑战第32天】本文以问答形式探讨了React框架的特性和应用。React是一款由Facebook推出的JavaScript库,以其虚拟DOM机制和组件化设计,成为构建高性能单页面应用的理想选择。文章介绍了如何开始一个React项目、组件化思想的体现、性能优化方法、表单处理及路由实现等内容,帮助开发者更好地理解和使用React。
119 9

推荐镜像

更多