React之getDerivedStateFromProps

<!DOCTYPE html>

<html>

<head>

    <meat charset="UTF-8">

        <title>新react生命周期</title>

</head>

<body>

    <!-- 准备好一个容器 -->

    <div id="test"></div>

    <!-- 核心库 -->

    <script type="text/javascript" src="../js/react.development.js"></script>

    <!-- react-dom,操作dom -->

    <script type="text/javascript" src="../js/react-dom.development.js"></script>

    <!-- 引入babel,jsx转为js -->

    <script type="text/javascript" src="../js/babel.min.js"></script>

    <!-- 此处一定要写babel -->

    <script type="text/babel">

        //1.创建组件

        class Count extends React.Component{

          //构造器

          constructor(props){

              console.log('Count---constructor');

              super(props)

               //初始化状态

              this.state = { count: 0 }

          }

          //加1按钮的回调

          add = ()=>{

            //获取原状态

            const {count} =this.state

            //更新状态

            this.setState({count: count+1})

          }

          death = ()=>{

              ReactDOM.unmountComponentAtNode(document.getElementById('test'))

          }

          //强制更新按钮的问题

          force =()=>{

              this.forceUpdate()

          }  

         static getDerivedStateFromProps(props,state){

              console.log('getDerivedStateFromProps',props,state)

              return props

          }      

          //组件挂载完毕的钩子

          componentDidMount(){

              console.log('Count---componentDidMount')

          }

          //组件将要卸载的钩子

          componentWillUnmount(){

              console.log('Count---componentWillUnmount')

          }

          //控制组件更新的‘阀门’

          shouldComponentUpdate(){

              console.log('Count---shouldComponentUpdate')

              return false;

          }

              //组件更新完毕的钩子

            componentDidUpdate() {

                console.log('Count---componentDidUpdate')

            }

           render(){  

                console.log('Count---render')

                const {count}=this.state

               return(

                  <div>

                    <h2>当前求和为:{count}</h2>

                    <button onClick={this.add}>点我+1</button>  

                    <button onClick={this.death}>卸载组件</button>

                     <button onClick={this.force}>不更改任何状态中的数据,强制更新一下</button>

                  </div>        

               )          

           }

        }          

        //2.渲染组件到页面

        ReactDOM.render(<Count count={199}/>, document.getElementById("test"));  

    </script>

</body>

</html>

================

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云漫圈 | 如何给女朋友解释什么是HTTP

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章转载自漫话编程周末一大早&#xff0c;我正在电脑前面浏览一些技术网站&#xff0c;突然女朋友大喊起来&#xff1a;哇&#xff0c;杭州又下大雪啦&#xff0c;快来看啊。我并没有理她&#xff0c;于是她跑过来拉我。&#xfff…

IOS – OpenGL ES 设置图像滤镜 GPUImageAmatorkaFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

IOS – OpenGL ES 设置图像滤镜 GPUImageSoftEleganceFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

趣挨踢 | 跳槽季,让我们一起攻克算法吧!

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章转载自程序员小灰所谓金三银四跳槽季&#xff0c;去年的年终奖拿到了么&#xff1f;即使拿到了年终奖&#xff0c;也千万不要裸辞&#xff0c;毕竟今年的形式不同于往年。不过&#xff0c;虽然小灰不提倡大家裸辞&#xff0c;但…

React新生命周期之getSnapshotBeforeUpdate使用场景

<!DOCTYPE html> <html> <head> <meat charset"UTF-8"> <title>getSnapshotBeforeUpdate使用场景</title> <style> .list { width: 200px; height: 150px; background-color: skyblue; overflow: auto; } .news { height…

IOS – OpenGL ES 设置图像锐化 GPUImageSharpenFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

Kubernetes 2018 年度简史

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者&#xff1a;bot&小君君&#xff08;才云&#xff09;转自&#xff1a;K8sMeetup社区Kubernetes 在过去几年中一直是云计算领域最著名的开源项目之一。2018 年&#xff0c;Kubernetes 度过了自己的 4 岁生日。从 2014 年开源…

IOS – OpenGL ES 绘制十字 GPUImageCrosshairGenerator

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

携手伙伴谋增长 同心协力齐飞飏

3月6日&#xff0c;以“携手同心&#xff0c;逆风飞飏”为主题的锐捷网络2019年合作伙伴大会在南京召开。本次大会上&#xff0c;锐捷网络全面回顾了2018年“做精做强”战略下的成果与收获&#xff0c;重磅发布了下一代创新产品和解决方案&#xff0c;携手8000多家合作伙伴畅谈…

获取反射对象

package com.wuming.reflection; //什么叫反射 public class Test02 extends Object{//Object定义了一个方法被所有子类继承&#xff0c;就是public final Class getClass(),返回值类型是Class类//反射&#xff1a;就是通过对象获取类的名称public static void main(String[] a…

IOS – OpenGL ES 绘制线条 GPUImageLineGenerator

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

得到Class类的几种方式

反射可以获取类的属性&#xff0c;方法和构造器 类只有一个Class实列 一个Class对象就是加载到jvm中的一个.class文件 通过Class可以完整得到一个类中所有被加载的结构 package com.wuming.reflection; //测试Class类的创建方式有哪些 public class Test03 {public static…

IOS – OpenGL ES 设置图像模糊 GPUImageFastBlurFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

权威预测:未来一年,企业云服务将会如何发展?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者&#xff1a; James Kobielus转自&#xff1a; RancherLabs云计算已成为企业应用程序的主要范式。 随着企业使其计算和网络架构现代化&#xff0c;云原生架构是主要的目标环境。随着2019年的到来&#xff0c;很明显&#xff0c…

要闻君说:又一家云服务关停,原来是网易;MongoDB又爆泄露大新闻;Google 的中国版搜索引擎项目其实仍在继续...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 大家好&#xff01;偶是要闻君。偶是要闻君。新的一周已开始&#xff0c;学习必须在路上&#xff01;&#xff01;&#xff01;文/要闻君近日网易相册发布公告称&#xff0c;自今年…

IOS – OpenGL ES 设置图像黑白噪点 GPUImageLocalBinaryPatternFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

所有类型的class对象

package com.wuming.reflection;import java.lang.annotation.ElementType;public class Test04 {public static void main(String[] args) {Class c1 Object.class;//类Class c2 Comparable.class;//接口Class c3 String[].class;//一维数组Class c4 int[][].class;//二维…

人人之间“不简单”,关系图谱“有一套”

戳蓝字“CSDN云计算”关注我们哦&#xff01;“通过一个人来维持亲密关系的人数最多可达到150人。”这曾经是人类学家罗宾邓巴引以为豪的科学结论之一。不过随着网络社交平台的出现以及日渐繁荣&#xff0c;很多人觉得“邓巴理论”在纷繁复杂的虚拟世界并不适用&#xff0c;如今…

IOS – OpenGL ES 桑原滤波/水粉画模糊效果 GPUImageKuwaharaFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

Docker精华问答 | 如何让一个容器连接两个网络?

如今Docker的使用已经非常普遍&#xff0c;特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩展服务&#xff0c;从而到达弹性部署业务的能力。在云服务概念兴起之后&#xff0c;Docker的使用场景和范围进一步发展。今天&#xff0c;就让我们来看看关于Docker的深度…