在react开发过程中由于setState的异步特性,获取最新state遇到问题
1 //在父组件内 改变 state.dataSetValue 2 <Select onChange={(value) => { 3 this.setState({ 4 dataSetValue: value 5 });}}> 6 <option>1</option> 7 <option>2</option> 8 </Select> 9 10 // 将state.dataSetValue属性传给DataSetSubDirectory子组件 11 <DataSetSubDirectory 12 dataSetValue={this.state.dataSetValue} /> 13 14 // 在子组件生命周期函数componentWillReceiveProps内可以获取最新的props 15 componentWillReceiveProps(nextProps) { 16 console.log(nextProps.dataSetValue); 17 this.handelGetDataSetSubDirectory(nextProps.dataSetValue); 18 }
重点:在react的componentWillReceiveProps(nextProps)生命周期中,可以在子组件的render函数执行前获取新的props,从而更新子组件自己的state。
转载于:https://www.cnblogs.com/dadouF4/p/10139662.html
在react开发过程中由于setState的异步特性,获取最新state遇到问题相关推荐
- 【转】React 16 中从 setState 返回 null 的妙用
概述 在 React 16 中为了防止不必要的 DOM 更新,允许你决定是否让 .setState 更来新状态.在调用 .setState 时返回 null 将不再触发更新. 我们将通过重构一个 mo ...
- React开发中使用fetch进行异步请求
React开发中使用fetch进行异步请求 最新的Web API接口中提供了一个全局fetch方法,从而以一种更为简单.合理的方式来支持跨网络异步获取资源. 这种功能以前是使用 XMLHttpRequ ...
- 从源码的角度再看 React JS 中的 setState
在这一篇文章中,我们从源码的角度再次理解下 setState 的更新机制,供深入研究学习之用. 在上一篇手记「深入理解 React JS 中的 setState」中,我们简单地理解了 React 中 ...
- 在 React 16 中从 setState 返回 null 的妙用
翻译:疯狂的技术宅 原文:blog.logrocket.com/returning-n- 未经允许严禁转载 概述 在 React 16 中为了防止不必要的 DOM 更新,允许你决定是否让 .setSt ...
- react 开发过程中的总结/归纳
1.点击元素,获取绑定该事件的父级元素,使用 e.currentTarget.e.target 获取的是,出发该事件的元素,该元素有可能是所绑定事件的元素的子元素. 2.使用 react router ...
- python请求url非阻塞_Tornado请求中的非阻塞/异步URL获取
我已经从我的项目中提取了代码样本.它并不完美,但它提供了一个如何使用Tornadp的AsyncHTTPClient的方法@tornado.gen.engine def async_request(se ...
- react中的setState
setState的使用 1.1. 为什么使用setState 回到最早的案例,当点击一个 改变文本 的按钮时,修改界面显示的内容: 案例的基础代码如下: import React, { Compone ...
- [译] Don’t call me, I’ll call you:使用 Redux-Saga 管理 React 应用中的异步 action (上)...
原文地址:Don't call me, I'll call you: Side effects management with Redux-Saga (Part 1) 原文作者:David Dvora ...
- 对复杂业务组件在实际开发过程中被调用的反思
写这篇文章的初衷是为了记录我在修复项目中一个复杂业务组件中的bug而引起其他依赖这个组件的功能无法使用的过程中,对使用.维护复杂业务组件的一些思考 原文地址 Bug发生原因 我所在的项目组中, 有一个 ...
- Microsoft.Bcl.Async 使用总结--在.NET Framework 4.5项目上使用.NET Framework 4.5版本及以上版本才可以使用C# 5中的async/await异步特
正常情况下async/await异步特性,只能在.NET Framework 4.5以上的版本才可以使用,那如果想在.NET Framework 4使用C# 5中的异步特性怎么办呢?还好有一个开源的类 ...
最新文章
- 第一周Access课总结
- 架构师是如何炼成的?以天猫APP架构开发模式升级工程为例
- python历年来经典项目实例-【实战案例】利用Python输出精美表格的5个案例,过程详细...
- 回调函数、Java接口回调 总结
- WSL(Windows Subsystem for Linux) 适用于Linux的Windows子系统
- java判断读到末尾_Flink实战:自定义KafkaDeserializationSchema(Java/Scala)
- 【Python】Matplotlib绘制蓝天下的普通房屋
- 第三章 深入分析Java Web中的中文编码问题
- SAP License:SAP中的PRC增值税概念
- 哪几所大学计算机软件方面是强项,计算机软件工程专业排名靠前的大学是那几所...
- Python ln_虚拟机中单机Spark (Python版)安装
- 什么是防抖和节流?有什么区别?如何实现?
- python如何实现单例模式_用Python实现设计模式——单例模式
- SitePoint播客#108:Kevin的最后一场演出
- ubuntu将电源键设置为关机
- QT之SQLITE3数据库
- 蔚来智驾功能大更新:与其叫NOP+,不如叫NAD-
- hostapd wpa_supplicant madwifi详细分析(七)——hostapd整体梳理
- 更好的设计接口_设计可以而且必须做得更好
- Arduino实验十三 YFS201霍尔效应水流传感器
热门文章
- 华为、阿里、京东停止社招转外包:头部公司们的谋局
- 从技术角度谈一谈,我参与设计开发的手Q春节红包项目
- 如何应对当下的 996?
- popen 如何获取指令执行情况_php通过popen获取的一个命令的返回值如何分析出来...
- BAT架构技术专题合集500+
- 小波变换与傅里叶变换的区别
- 关于 exynos 4412 按键中断 异步通知
- 五秒原则,做一件事之前数 5 秒,1,2,3,4,5 立马去做。比如睡觉:数五秒,立马放下手机,闭眼。...
- JS生成随机的字母数字组合的字符串
- 使用js切割URL的参数