运用在React 中 setState的对象、数组的操作时是不能用类似array.push()等方法,因为push没有返回值,setState后会出现state变成Number,为了方便他人和自己查看,因此写个数组和对象的操作方法小笔记。

  1、修改object中某项

this.setState({
object: {...object, key: value}
});

  2、删除数组首位

array.splice(, );
this.setState({
array
});

  3、删除数组尾部

array.splice(array.length - );
this.setState({
array
});

  4、删除数组任意一项

array.splice(index, );
this.setState({
array
});

  5、数组尾部添加一项

this.setState({
array: [...array, item]
});

  6、数组头部添加一项

this.setState({
array: [item, ...array]
});

  7、数组任意位置添加一项

array.splice(index, , item);
this.setState({
array
});

  8、修改数组中任意一项中值

function updateArrayItem(index, key, value) {
this.setState({
array: array.map((item, _index) => _index == index ? {...item, [key]: value} : item)
});
}

  9、复杂类型修改

this.setState(prevState => return newState);

「React Native笔记」在React的 setState 中操作数组和对象的多种方法(合集)的更多相关文章

  1. 《React Native 精解与实战》书籍连载「React 与 React Native 简介」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  2. Learning React Native笔记

    React Native作为一个新事物,相关的资料还不多 官方的文档比较简单,缺少一些系统的例子 在对React Native的应用中,迫切的想学习一些别人的最佳实践.所以想通过看书系统的学习下 之前 ...

  3. 利用 Create React Native App 快速创建 React Native 应用

    本文介绍的 Create-React-Native-App 是非常 Awesome 的工具,而其背后的 Expo 整个平台也让笔者感觉非常的不错.笔者目前公司是采用 APICloud 进行移动应用开发 ...

  4. react native 之 在现有的iOS工程中集成react native

    在现有的iOS工程中集成react native, 或者说将react native引入到iOS 项目,是RN和iOS混合开发的必经之路 参考官网教程:https://reactnative.cn/d ...

  5. ☕【JVM技术指南】「JVM总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【下部】

    承接上文 (完结撒花1-52系列)[JVM技术指南]「JVM总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"[上部] 并行收集器 并行收集器(也称为吞吐量收集器)是类似 ...

  6. React Native笔记整理

    判断一个APP页面时原生还是H5:http://www.cnblogs.com/sonice-cinsy/p/5671324.html 写给移动开发者的React Native指南:http://bl ...

  7. React 与 React Native 底层共识:React 是什么

    此系列文章将整合我的 React 视频教程与 React Native 书籍中的精华部分,给大家介绍 React 与 React Native 结合学习的方法,此小节主要介绍 React 的底层原理与 ...

  8. 2、手把手教React Native实战之从React到RN

    ###React简介 RN是基于React设计,了解React有助于我们开发RN应用: React希望将功能分解化,让开发变得像搭积木一样,快速而且可维护 React主要有如下3个特点: *作为UI( ...

  9. React Native笔记

    ① 做UI快 ② 还是有很多限制,不如原生Native ③ 入门简单,能让前端快速开发App ④ iOS&Android大部分代码通用 ⑤ code-push能做热更新,但是用不好依旧坑

随机推荐

  1. python的空格和tab混用报错问题

    python中的空格和tab键不能混用,如果则会报类似如下的错误: IndentationError: unindent does not match any outer indentation le ...

  2. 部署java的spring boot项目(代码外包提供)

    部署java后台的spring boot 人脸识别系统的项目 基础环境准备: 硬件:内存4g  cpu 4核  硬盘200g  虚拟机 软件:CentOS 7.6  mysql 5.7.26  jdk ...

  3. 实际中可能遇到的NAT问题(IPsec)

    一.背景介绍:一般我们在实际网络中不是IPSec VPN的时候,都是边界设备连接Internet,然后两个边界设备通过Internet去实现互通,建立VPN,但是,有的运营商在分配IP地址的时候,给我 ...

  4. TC301A芯片做的一种人体接近感应方案

    基于TC301A芯片做的一种人体接近感应方案,此方案的原理是通过检测电容的变化量来检测人体的有无,此方案设计原理简单,使用方便,容易操作,成本较低.设计方案如下:可根据原理图做pcb板子,如图芯片的五 ...

  5. ConcurrentHashMap 实现缓存类

    参考:https://blog.csdn.net/woshilijiuyi/article/details/81335497 在规定时间内,使用 hashMap 实现一个缓存工具类,需要考虑一下几点 ...

  6. IIS 7.5 URL重写参数

    URL 重写规则由以下部分组成: 模式 - 可以理解为规则,分通配符和正则匹配     条件 - 可以理解为字符串     操作 - 操作用于指定如果URL字符串与规则模式匹配并且满足所有规则条件时应 ...

  7. html5或者移动端暴力定位城市-高德地图,可以取到当前的城市code,亲测好用

    复制 粘贴到html中打开!!!!! <!doctype html> <html> <head> <meta charset="utf-8" ...

  8. 【Hibernate 一对多】

    OneToMany public class OneToMany { @Test public void testAdd1() { SessionFactory sessionFactory = nu ...

  9. pip-9.0.1更新到pip-10.0.1遇到的问题

    使用 pip 安装第三方库时,报错: You are using pip version 9.0.3, however version 10.0.1 is available. You should ...

  10. org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown database 'jdsc')

    org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown databas ...