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. go语言从例子开始之Example4.常量

    Go 支持字符.字符串.布尔和数值 常量 . package main import "fmt" import "math" const 用于声明一个常量. c ...

  2. shell巡检草拟

    #!/bin/bash phy_cpu=$(cat /proc/cpuinfo | grep "physical id"|sort | uniq | wc -l) logic_cp ...

  3. php 安装zip模块

    为php安装zip扩展 wget http://pecl.php.net/get/zip-1.13.5.tgz tar -zvxf zip-1.13.5.tgz cd zip-1.13.5 /home ...

  4. Win7 VS2012智能提示显示英文的处理办法

    其原因为.net的语言包没安装成功, 解决方法为 替换自己英文显示的,把C:\Windows\Microsoft.NET\Framework\v2.0.50727\zh-CN 目录的文件,替换到相应的 ...

  5. 百度地图,删除marker,创建marker

    -------------------[删除marker]-----------------------------success: function(data){ if(data.length> ...

  6. mui-popover显示、隐藏弹出菜单的方法

    一.mui-popover要显示.隐藏弹出菜单,可使用锚点方式. <div id="popover" class="box mui-popover mui-popp ...

  7. CF gym 101933 K. King's Colors(二项式反演)

    传送门 解题思路 首先给出的树形态没用,因为除根结点外每个点只有一个父亲,它只需要保证和父亲颜色不同即可.设\(f(k)\)表示至多染了\(k\)种颜色的方案,那么\(f(k)=(k-1)^{(n-1 ...

  8. MySQL-视图上进行增删改查

    https://dev.mysql.com/doc/refman/5.7/en/view-updatability.html https://dev.mysql.com/doc/refman/8.0/ ...

  9. web开发小知识

    session共享机制:f5刷新是再次提交之前的数据请求 地址栏回车属于不同的请求 不同浏览器获取不到之前数据 同一浏览器可以获取同步数据 session注销:session.invalidate() ...

  10. (转)GitHub上想下载单个文件方法

    找到该文件,单机raw,如下图: 然后会在网页打开该文件,复制URL,下载即可(如果是不可预览文件,会自动下载). 转自: GitHub上想下载单个文件方法 - Smallcaff的博客 - CSDN ...