react todolist代码优化
Todolist.js
import React, { Component,Fragment } from 'react'; import TodoItem from './TodoItem'; import './style.css'; class Todolist extends Component {constructor(props) { //最优先执行的函数 super(props);this.state={inputValue:'',list:[]}this.handleinputChange=this.handleinputChange.bind(this);this.handlebuttonClick=this.handlebuttonClick.bind(this);this.handleItemdelt=this.handleItemdelt.bind(this);}render() {return ( <Fragment><div>{/*这是一个todolist*/}<label htmlFor='insertArea'>输入内容</label><input id="insertArea"className='input'value={this.state.inputValue}onChange={this.handleinputChange}/><button onClick={this.handlebuttonClick}> 提交 </button> </div> <ul>{this.getTodoItem()}</ul> </Fragment> );}getTodoItem(){return this.state.list.map((item,index)=>{return(<TodoItem key={index}index={ index } item={ item } deleteItem={this.handleItemdelt}/> )})}handleinputChange(e){const value=e.target.value;this.setState(()=>({inputValue:value}));// this.setState({// inputValue:e.target.value// }) }handlebuttonClick(e){this.setState((prevState)=>{return{list:[...prevState.list,prevState.inputValue],inputValue:''}});// this.setState({// list:[...this.state.list,this.state.inputValue],// inputValue:''// }) }handleItemdelt(index){// immutable// state 不允许我们坐任何的改变this.setState((prevState)=>{const list=[...prevState.list]; list.splice(index,1);return{list}})// const list=[...this.state.list]; // list的一个副本// list.splice(index,1);// this.setState({// list:list// }) } } export default Todolist;
TodoItem.js
import React ,{ Component } from 'react'; class TodoItem extends Component{constructor(props){super(props);this.handleclick=this.handleclick.bind(this);}render(){const { item }=this.props;return (<li onClick={this.handleclick}dangerouslySetInnerHTML={{__html:item}}></li> )}handleclick(){const {deleteItem,index}=this.props;deleteItem(index);} } export default TodoItem;
转载于:https://www.cnblogs.com/Lolita-web/p/9875642.html
react todolist代码优化相关推荐
- react es6+ 代码优化之路-1
这里集合了一些代码优化的小技巧 在初步接触 es6+ 和 react 的时候总结的一些让代码跟加简化和可读性更高的写法 大部分知识点是自己在平时项目中还不知道总结的,一致的很多优化的点没有写出来,逐步 ...
- Node.js + React + MongoDB 实现 TodoList 单页应用
之前用 Ant Design 开发了一个项目,因此对 React 的特性有了一定的了解,React 使用封装组件的思想,组件各自维护自己的状态和 UI, 组件之间通过 props 传递数据和方法.当状 ...
- react render没更新_web前端教程分享React学习笔记(一)
web前端教程分享React学习笔记(一),React的起源和发展:React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写 ...
- react的超详细讲解
create-react-app 项目目录 在HTML中使用react 1 2 3基础 React的注意事项 模拟的React 和 render React组件 函数组件 类组件 React 的数据源 ...
- 慕课 简书项目 个人笔记
第1章 课程导学 本章主要介绍学习react的重要性,课程的知识大纲,学习前提,讲授方式及预期收获. 1-1 课程导学 React由Fackbook 2013年5月推出开源框架,函数式编程React ...
- 七十六、React中的TodoList和拆分组件,组件之间的传值
2020/11/18. 周三.今天又是奋斗的一天. @Author:Runsen 这东西已经有很多大佬们写过了,就不多班门弄斧了.主要使用这个例子入门 React ,包括 state.props.组件 ...
- react+redux+generation-modation脚手架搭建一个todolist
TodoList 1. 编写actions.js 2. 分析state 试着拆分成多个reducer 3. 了解store 4. 了解redux数据流生命周期 5. 分析容器组件和展示组件 搞清楚,数 ...
- 初探react,用react实现一个todoList功能
初探react,用react实现一个todoList功能
- React版本的todolist小demo 快速复习React(React)
demo 介绍 该demo 就是帮你快速复习 react 的 事件传值,子组件传值,父传子,事件绑定,交互逻辑,react 语法,该demo有,显示隐藏列表,增加内容,删除todo,双击内容编辑是in ...
最新文章
- Faster-RCNN+ZF用自己的数据集训练模型(Python版本)
- DjangoAPP子路由
- 成功解决tensorflow.keras: AttributeError: ‘str‘ object has no attribute ‘decode‘
- c语言不会可以学好java吗_有人说学了C语言,两天就能学会Java,两个星期就可以找工作?...
- 数据结构之树【完善中】
- long在C语言中是非法字符吗,C程序设计实践——实验指导
- python文本相似度分析_文本相似度分析(基于jieba和gensim)
- 科学家做一个实验,我就得胖三斤?
- linux 如何加密文件夹,如何加密个别文件夹?
- 高德地图发布Q2交通报告
- trivy【1】漏洞扫描工具安装
- selenium不定位元素直接操作键盘之Keys.CONTROL
- 无线网络组建之设备选型
- 直角坐标系和极坐标系
- 收藏||二叉树的遍历:颜色标记法(前序、中序、后序通用)
- 【windows10】将路由器设置为交换机
- 正反斜杠的区别_正斜杠(/)和反斜杠(\)的区别
- 局域网、网段、子网的区别
- 猫眼api html,猫眼电影数据抓取
- Proactor模型
热门文章
- 动态分区添加的新字段无法插入数据
- Linux(Ubuntu)下设置开机自启shell脚本执行Java程序jar包
- ssm项目集成ftp_ssm开发旅游信息管理系统,包括前台和后台
- mysql查询缓存到redis_php查询mysql并缓存到redis
- 面条html5,使用 babel 全家桶模块化古老的面条代码
- 鸿蒙系统发布IT直播,华为开源平台上线:鸿蒙系统、方舟编译器在列
- oracle 序列验证脚本,oracle 生成序列脚本
- 传感器信号处理仿真实验(c语言实现),均值滤波,滑动滤波
- datax 导入数据中文乱码_DataX在有赞大数据平台的实践
- I/0口输入输出实验 将P1口的某一位作为输入使用,连接一个按键,当按键按下时使发光二极管亮,否则发光二极管熄灭