1.点击按钮提交,新增对象

  buttonChange() {
this.setState({
//展开运算符...this.state.list,生成一个全新的数组
// list:[...this.state.list,this.state.inputValue]
//后面是新加入的数组,两个组成一个新的数组
list:[...this.state.list,this.state.inputValue],
inputValue:'' })
}

 2.删除

buttonDelete(index) {
const list=[...this.state.list];
//删除方法splice,两个参数,第一个是索引,第2个是删除几个
list.splice(index,);
this.setState({
list:list
})
}

3.记得使用方法要绑定this,改变this 的作用域

  this.handleChange = this.handleChange.bind(this);
this.buttonChange = this.buttonChange.bind(this);

代码:

import React, { Component } from 'react';

class App extends Component {
constructor(props) {
super(props);
this.state={
inputValue:'hello world',
list:[]
}
//改变this 的作用域
this.handleChange = this.handleChange.bind(this);
this.buttonChange = this.buttonChange.bind(this); }
render() {
return (
<div>
<div>
<input type="text"
value={this.state.inputValue}
onChange={this.handleChange}
/>
<button onClick={this.buttonChange}>提交</button>
</div>
<ul>
{
this.state.list.map((item,index)=>{
return (
<li
key={index}
onClick={this.buttonDelete.bind(this,index)}
>
{item}
</li>
)
})
}
</ul>
</div>
);
}
handleChange(e) {
this.setState({
inputValue:e.target.value
})
}
buttonChange() {
this.setState({
//展开运算符...this.state.list,生成一个全新的数组
// list:[...this.state.list,this.state.inputValue]
//后面是新加入的数组,两个组成一个新的数组
list:[...this.state.list,this.state.inputValue],
inputValue:'' })
}
buttonDelete(index) {
const list=[...this.state.list];
//删除方法splice,两个参数,第一个是索引,第2个是删除几个
list.splice(index,1);
this.setState({
list:list
})
}
} export default App;

  

 演示:

react todelist的更多相关文章

  1. React ToDolist增加功能

    补充知识点1==>npm install prop-types 先安装参数校验包 在B C页面引入 import PropTypes from 'prop-types' //参数限制 // 验证 ...

  2. react组件的生命周期

    写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: f ...

  3. 十分钟介绍mobx与react

    原文地址:https://mobxjs.github.io/mobx/getting-started.html 写在前面:本人英语水平有限,主要是写给自己看的,若有哪位同学看到了有问题的地方,请为我指 ...

  4. RxJS + Redux + React = Amazing!(译一)

    今天,我将Youtube上的<RxJS + Redux + React = Amazing!>翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: https:/ ...

  5. React 入门教程

    React 起源于Facebook内部项目,是一个用来构建用户界面的 javascript 库,相当于MVC架构中的V层框架,与市面上其他框架不同的是,React 把每一个组件当成了一个状态机,组件内 ...

  6. 通往全栈工程师的捷径 —— react

    腾讯Bugly特约作者: 左明 首先,我们来看看 React 在世界范围的热度趋势,下图是关键词“房价”和 “React” 在 Google Trends 上的搜索量对比,蓝色的是 React,红色的 ...

  7. 2017-1-5 天气雨 React 学习笔记

    官方example 中basic-click-counter <script type="text/babel"> var Counter = React.create ...

  8. RxJS + Redux + React = Amazing!(译二)

    今天,我将Youtube上的<RxJS + Redux + React = Amazing!>的后半部分翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: ht ...

  9. React在开发中的常用结构以及功能详解

    一.React什么算法,什么虚拟DOM,什么核心内容网上一大堆,请自行google. 但是能把算法说清楚,虚拟DOM说清楚的聊聊无几.对开发又没卵用,还不如来点干货看看咋用. 二.结构如下: impo ...

随机推荐

  1. linux随笔-05

    shell脚本&定时任务 编写Shell脚本 可以将Shell终端解释器当作人与计算机硬件之间的“翻译官”. Shell脚本命令的工作方式有两种:交互式和批处理. 交互式(Interactiv ...

  2. NOIP2016D1T3 换教室 (概率DP)

    NOIP2016D1T3 换教室 题目大意:有n个时间段,每个时间段i有两个教室a[i],b[i]可以上课,如果不申请换教室就在教室a[i]上课,如果换教室就在b[i]上课.你最多只能换m次教室.教室 ...

  3. 前端学习(二十八)es6&ajax(笔记)

    ES6    let    块级作用域    const    解构赋值    字符串拼接    扩展运算符    ------------------------------------------ ...

  4. 【串线篇】MyBatis简介

    一.MyBatis 和数据库进行交互:持久化层框架(SQL映射框架): 1).纯手工 从原始的JDBC----dbutils(QueryRunner)-------JdbcTemplate----xx ...

  5. ambari安装hadoop

    前言 hadoop除了社区版之外,还有两个主流的分支,一个是cdh版本,一个是hdp版本,其中ambari是hdp版本的部署工具 1.ambari安装准备 https://docs.hortonwor ...

  6. C++ 浅谈 strlen 与 sizeof的区别

    先举个栗子: 字符串数组跟字符串指针,然后分别使用sizeof跟strlen看输出结果. char strA[] = "2017-7-19"; char *strB = " ...

  7. MySQL 8.0.12安装教程 (windows 64位)

    先去官网下载点击的MySQL的下载​ 下载完成后解压 解压完是这个样子,(解压后并没有Data目录,要手动创建,Data目录是自己创建的设置mysql数据库的数据的存放目录,解压后的目录也没有的my. ...

  8. 2018/8/26学习Mysql笔记

    SELECT * FROM product; #.基本增删改查 #新增 #需求:添加一条数据到产品表 产品名称为苹果手机 卖价为5000 ); #删除 #需求:删除产品表中id=20的数据 ; #需求 ...

  9. 服务化改造的云上利器 | 阿里云 EDAS 重大升级发布

    11月22日,广东云栖大会企业级互联网架构专场上,阿里云发布了全新版本的企业级分布式应用服务EDAS. 新版本增强了对主流微服务框架的原生支持,实现SpringCloud & Dubbo用户代 ...

  10. docker监控方案实践(cadvisor+influxdb+grafana)

    一.概要 1.1 背景 虚拟化技术如今已经非常热门,如果你不知道什么是虚拟化,那你应该了解虚拟机.虚拟化技术如同虚拟机一样,用于将某些硬件通过软件方式实现"复制",虚拟出" ...