react里执行shouldComponentUpdate时返回false的后果
大家都知道生命周期shouldComponentUpdate返回false时,不会进行后续的渲染,那这个时候state是什么情况呢。我们看一下demo
class Toggle extends React.Component {constructor(props) {super(props);this.state = {number: 1};// 这边绑定是必要的,这样 `this` 才能在回调函数中使用this.handleClick = this.handleClick.bind(this);}handleClick() {this.setState(prevState => ({number: this.state.number + 1}));}shouldComponentUpdate(nextProps, nextState) {if(this.state.number == 4) {return false}return true}render() {return (<button onClick={this.handleClick}>{this.state.number}</button> );} }ReactDOM.render(<Toggle />,document.getElementById('example') );
number是4的时候,我们返回false。运行结果表明,当按钮的数字是4的时候,再点击,数字不变化,接着点击,数字由4变成了6。表明,shouldComponentUpdate返回false不会影响state的改变,只是不接着进行渲染了而已。
接下来,应该把生命周期里每个阶段里调用setState会有什么后果,深入搞明白,深入React技术栈30页,还有更多的书籍先看一看。
转载于:https://www.cnblogs.com/zhansu/p/10294496.html
react里执行shouldComponentUpdate时返回false的后果相关推荐
- mysql的过程返回执行成功与失败_mysqli_query函数执行成功返回一个结果标识符,失败时返回false...
数执识符失二醇纳米制备脂E丙烯维素丁酯聚乙聚乳基纤氰基粒的.磷.乙材料酸异酸D. 行成二醇片的凝胶骨架.甘棕榈纤维可用为A.单聚乙甲基于亲油酯油E.乙材料水性酸甘素D. 墨客古代文人往往寄情山水,功返 ...
- mysql 查询false_mysql_affected_rows在成功查询时返回False?
我在排序这个PHP / MySQL问题时遇到困难.让我告诉你我的数据库,并解释我的情况: 创建表格: CREATE TABLE IF NOT EXISTS `users` ( `id` int(50) ...
- php fopen函数失败,php fopen函数返回false
使用yum安装的apache2.4.6 php 7.2.2 正确安装后使用fopen()函数打开文件时返回false 百度一下又三种原因 1.目录或者文件夹权限原因 (可以用 chmod - ...
- ajax 阻止默认提交,jQuery验证插件:在对ajax调用servlet时,submitHandler不会阻止默认提交-返回false无效...
我有一个使用jquery和servlet的简单表单.jQuery对Servlet进行Ajax调用,然后Servlet进行一些服务器端计算,然后通过jQuery在同一页面上显示结果.我不希望表单进行默认 ...
- 单值二叉树:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。
前言: 二叉树刷题是有固定思维的,请移步 README]二叉树刷题框架 单值二叉树 题目 点击跳转:LeetCode 根据框架描述,我只需判断一个结点,如果这个节点是null就返回true,不是的话, ...
- react如何通过shouldComponentUpdate来减少重复渲染
在react开发中,经常会遇到组件重复渲染的问题,父组件一个state的变化,就会导致以该组件的所有子组件都重写render,尽管绝大多数子组件的props没有变化 render什么时候会触发 首先, ...
- React里里面试准备
文章目录 项目描述 1.生命周期 2.Hook 3.hook包装函数优化 4.Redux 5.自己封装的组件 6.图片懒加载 7.说一下 connect 怎么使用 8.flex 布局 9.rem 布局 ...
- yii2 设置的缓存无效,返回false,不存在
为了那些因为标题点进来的小伙伴,我直接把问题解决方案写在开头: 问题描述, $cache->add($key,'value',1800);这样设置了值后,后面无论怎么取这个$key,取出来的结果 ...
- 【转】React 16 中从 setState 返回 null 的妙用
概述 在 React 16 中为了防止不必要的 DOM 更新,允许你决定是否让 .setState 更来新状态.在调用 .setState 时返回 null 将不再触发更新. 我们将通过重构一个 mo ...
- Pytorch安装教程 及 解决 torch.cuda.is_available() 返回 False 的问题
Pytorch安装教程 及 解决 torch.cuda.is_available() 返回 False 的问题 有NVIDIA显卡的可以先去看CUDA安装教程,pytorch可以搭配CUDA10.0~ ...
最新文章
- NeurIPS 2018 | 如何用循环关系网络机智地解决数独类关系推理任务?
- JEPLUS表格组件数据平铺——JEPLUS软件快速开发平台
- mysql函数封装_Mysql对文件操作的封装
- Python3安装(Windows)
- Github趋势榜第一!英伟达发布StyleGAN2,生成图像逼真到吓人
- 【备战春招/秋招系列】美团Java面经总结进阶篇 (附详解答案)
- JAVA 表格组件 + rs.beforeFirst()使用
- 大数据和数据挖掘之间,主要有什么关系?
- 用别人的githut账号在自己电脑上拉取代码问题
- 【mac】nvm 的安装和使用,解决mac重启node not found,每次都得source ~/.bash_profile
- c++ opengl 三维图形中显示文字_为什么使用GPU渲染图形图像,而不使用CPU呢?
- 抓铁有力榜:踏石有印,抓铁留痕
- Java项目实现文件上传FTP
- python 彩带图_趋势彩带主图股票公式源码分享
- 长沙医学院计算机科学与技术专业怎么样,长沙医学院有哪些专业及什么专业好...
- 短片连载(6),记录这段 电脑爱好者 生涯,从四年级开始接触计算机,直到大二寒假决定步入IT行业。...
- 最好用的图像处理软件推荐:风格迥异的靠谱专业还简单的图像处理软件首选Chasys Draw IES
- 今天遇到的输入法找不到的问题
- 朝曦建筑建材租赁管理系统
- 怎么放大图片保持清晰度?如何把图片无损放大?
热门文章
- java valid payload_Spring Validation最佳实践及其实现原理,参数校验没那么简单!
- python 实现两个excel表格数据的对比--代码
- 学生选课系统代码--分析2需求分析
- Python实现桌面程序:PyQt5 + QtDesigner -- 界面设计与逻辑编写
- 2019测试指南-web应用程序安全测试(二)识别应用程序入口点
- PHP之mb_strrpos使用
- PHPExcel导出Excel方法总结——ThinkPHP5
- Linux3.4内核的基本配置和编译
- hdu1505 dp:01矩形中最大面积全0矩阵
- org manual翻译--2.7 纯文本列表