RN setState 采坑小记
发布日期:2022-04-05 00:52:12
浏览次数:2
分类:博客文章
本文共 2231 字,大约阅读时间需要 7 分钟。
项目中我们基本上一直使用这个东东,一般我们用来刷新数据(刷新页面),下面来小记下这个小坑
一般对页面来说 我们如是使用
第一种写法 声明、初始化分开
// 1、声明 export interface IState { bidBtnData: getBidButtonData, bidBean: IBidDetailInfo,}export interface IProps extends IBasePageProp {}export default class extends UtilsRootPage{//该方法 相当于constructor 初始化方法 subPageInit() {
// 2、初始化 this.state = { bidBean: {} as IBidDetailInfo, bidBtnData: {} as getBidButtonData, } } // 3、赋值
this.setState({ bidBean: response.data })
第二种写法 直接声明、初始化
export default class CheckboxModalMenu extends React.Component{ // 1、声明、初始化 state = { modalVisible: false, data: [], bidderIdList: [], }; // 2、使用
this.setState({ data: res.data.rows });
小坑小记:setState是异步操作 所以出现赋值异常时 用方法2解决
let oData: any = this.state.data; let oNew: any = []; oData.map((fItem: any) => { if (fItem.checkedflag) { oNew.push(fItem.userId); } }); // UtilsSuperCommon.logWarn(oNew); // oNew始终有值 第一次bidderIdList取不到值 第二次才有 这是因为setState是异步操作 // 所以用第二种写法 数据回来后再做操作 // 1、 // this.setState({ // bidderIdList: oNew, // } //2、 该操作是异步操作 this.setState({ bidderIdList: oNew, }, ()=> { if (this.state.bidderIdList && this.state.bidderIdList.length) { this.setModalVisible(false); this.props.onClickDone(this, this.state.bidderIdList); } else { Toast.info('请选择中标人', 1) } }) // UtilsSuperCommon.logWarn(this.state.bidderIdList);
转载地址:https://www.cnblogs.com/lijianyi/p/11516410.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月07日 16时30分18秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
你不得不了解的卷积神经网络发展史
2019-04-26
你不得不了解的机器学习知识
2019-04-26
你不得不了解的深度学习知识(一)
2019-04-26
你不得不了解的深度学习知识(二)
2019-04-26
AI算法之Encoder-Decoder 和 Seq2Seq
2019-04-26
AI算法之Attention机制
2019-04-26
人体口罩佩戴检测实战
2019-04-26
[实战]200类鸟类细粒度图像分类
2019-04-26
【实战】英文垃圾短信分类
2019-04-26
FFmpeg初遇见_基本命令
2019-04-26
Urbansound8k声音分类深度学习实战
2019-04-26
pytorch版本下的yolov3训练实现火焰检测
2019-04-26
yolov4训练自己的数据集实现安全帽佩戴检测
2019-04-26
EfficientDet训练自己的数据集实现抽烟检测
2019-04-26
【工具篇】10分钟快速上手git与github
2019-04-26
【开发篇】10分钟快速上手spring boot
2019-04-26
【开发篇】10分钟快速spring boot+react前后端分离
2019-04-26
【Leetcode刷题篇】leetcode203 移除链表元素
2019-04-26
【Leetcode刷题篇】leetcode938 二叉搜索树的范围和
2019-04-26
【Java网络编程与IO流】Java中BIO、NIO、AIO的区别是什么?
2019-04-26