react todelist
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的更多相关文章
- React ToDolist增加功能
补充知识点1==>npm install prop-types 先安装参数校验包 在B C页面引入 import PropTypes from 'prop-types' //参数限制 // 验证 ...
- react组件的生命周期
写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: f ...
- 十分钟介绍mobx与react
原文地址:https://mobxjs.github.io/mobx/getting-started.html 写在前面:本人英语水平有限,主要是写给自己看的,若有哪位同学看到了有问题的地方,请为我指 ...
- RxJS + Redux + React = Amazing!(译一)
今天,我将Youtube上的<RxJS + Redux + React = Amazing!>翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: https:/ ...
- React 入门教程
React 起源于Facebook内部项目,是一个用来构建用户界面的 javascript 库,相当于MVC架构中的V层框架,与市面上其他框架不同的是,React 把每一个组件当成了一个状态机,组件内 ...
- 通往全栈工程师的捷径 —— react
腾讯Bugly特约作者: 左明 首先,我们来看看 React 在世界范围的热度趋势,下图是关键词“房价”和 “React” 在 Google Trends 上的搜索量对比,蓝色的是 React,红色的 ...
- 2017-1-5 天气雨 React 学习笔记
官方example 中basic-click-counter <script type="text/babel"> var Counter = React.create ...
- RxJS + Redux + React = Amazing!(译二)
今天,我将Youtube上的<RxJS + Redux + React = Amazing!>的后半部分翻译(+机译)了下来,以供国内的同学学习,英文听力好的同学可以直接看原版视频: ht ...
- React在开发中的常用结构以及功能详解
一.React什么算法,什么虚拟DOM,什么核心内容网上一大堆,请自行google. 但是能把算法说清楚,虚拟DOM说清楚的聊聊无几.对开发又没卵用,还不如来点干货看看咋用. 二.结构如下: impo ...
随机推荐
- linux随笔-05
shell脚本&定时任务 编写Shell脚本 可以将Shell终端解释器当作人与计算机硬件之间的“翻译官”. Shell脚本命令的工作方式有两种:交互式和批处理. 交互式(Interactiv ...
- NOIP2016D1T3 换教室 (概率DP)
NOIP2016D1T3 换教室 题目大意:有n个时间段,每个时间段i有两个教室a[i],b[i]可以上课,如果不申请换教室就在教室a[i]上课,如果换教室就在b[i]上课.你最多只能换m次教室.教室 ...
- 前端学习(二十八)es6&ajax(笔记)
ES6 let 块级作用域 const 解构赋值 字符串拼接 扩展运算符 ------------------------------------------ ...
- 【串线篇】MyBatis简介
一.MyBatis 和数据库进行交互:持久化层框架(SQL映射框架): 1).纯手工 从原始的JDBC----dbutils(QueryRunner)-------JdbcTemplate----xx ...
- ambari安装hadoop
前言 hadoop除了社区版之外,还有两个主流的分支,一个是cdh版本,一个是hdp版本,其中ambari是hdp版本的部署工具 1.ambari安装准备 https://docs.hortonwor ...
- C++ 浅谈 strlen 与 sizeof的区别
先举个栗子: 字符串数组跟字符串指针,然后分别使用sizeof跟strlen看输出结果. char strA[] = "2017-7-19"; char *strB = " ...
- MySQL 8.0.12安装教程 (windows 64位)
先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子,(解压后并没有Data目录,要手动创建,Data目录是自己创建的设置mysql数据库的数据的存放目录,解压后的目录也没有的my. ...
- 2018/8/26学习Mysql笔记
SELECT * FROM product; #.基本增删改查 #新增 #需求:添加一条数据到产品表 产品名称为苹果手机 卖价为5000 ); #删除 #需求:删除产品表中id=20的数据 ; #需求 ...
- 服务化改造的云上利器 | 阿里云 EDAS 重大升级发布
11月22日,广东云栖大会企业级互联网架构专场上,阿里云发布了全新版本的企业级分布式应用服务EDAS. 新版本增强了对主流微服务框架的原生支持,实现SpringCloud & Dubbo用户代 ...
- docker监控方案实践(cadvisor+influxdb+grafana)
一.概要 1.1 背景 虚拟化技术如今已经非常热门,如果你不知道什么是虚拟化,那你应该了解虚拟机.虚拟化技术如同虚拟机一样,用于将某些硬件通过软件方式实现"复制",虚拟出" ...