react 编写一个待办事项,函数优化,组件传值

ops/2025/3/3 14:40:52/

待办事项 

Import react {component} from ‘react’

Class TodoList extend component{

          Costructor(props){

                Super(props);

                        This.state={

                                Value=””,

                                List:[]

                        }

                }

        getValue(e){

                Let value=e.target.value;

                This.setState({

                        value

                })

        }

        addValue(){

                This.setState({

                        List:[...this.state.list,this.state.value],

                        Value:””

                })

        }

        deletValue(index){

                Let list=this.state.list.splice(index,1);

                This.setState({

                        List

                })

         }

        Render(){

                Return(

                        <div>

                                <div>

                                        <input

                                                value={this.state.value}

                                                 onChange={this.getValue.bind(this)} />

                                        <button onClick={this.addValue.bind(this)} >提交</button>

                                        </div>

                                <div>

                                {

                                        this.state.list.map((item,index)=>{

                                                Return (<div key={index}  

                                                                onClick={this.deletValue.bind(this,index)}

                                                                >

                                                                        {item}

                                                                </div>

                                                            )

                                        })

                                }

                                </div>

                        </div>

                )

           }

  }

export default TodoList;

 优化部分

Import react {component} from ‘react’
Class TodoList extend component{Costructor(props){Super(props);This.state={Value=””,List:[]}This.getValue=this.getValue.bind(this);This.addValue=this.addValue.bind(this);This.deletValue=this.deletValue.bind(this);This.showList=this.showList.bind(this);}getValue(e){Let value=e.target.value;This.setState({value})}addValue(){This.setState({List:[...this.state.list,this.state.value],Value:””})}deletValue(index){Let list=this.state.list.splice(index,1);This.setState({List})}showList(){Return (this.state.list.map((item,index)=>{Return (    <div key={index}  onClick={()=>this.deletValue(index)}>{item}</div>)}))}Render(){Return(<div><div><input value={this.state.value}onChange={this.getValue} /><button onClick={this.addValue} >提交</button></div><div> {This.showList()}</div></div>)}}
export default TodoList;

 父子组件传值

Import react {component} from ‘react’;
Import TodoItem from ‘./TodoItem;Class TodoList extend component{Costructor(props){Super(props);This.state={Value=””,List:[]}This.getValue=this.getValue.bind(this);This.addValue=this.addValue.bind(this);This.deletValue=this.deletValue.bind(this);}getValue(e){Let value=e.target.value;This.setState({value})}addValue(){This.setState({List:[...this.state.list,this.state.value],Value:””})}deletValue(index){Let list=this.state.list.splice(index,1);This.setState({List})}Render(){Return(<div><div><input value={this.state.value}onChange={this.getValue} /><button onClick={this.addValue} >提交</button></div><div> {this.state.list.map((item,index)=>{Return (<TodoItem  content={item}index={index} deletValue={this.deletValue.bind(this)}/>)})}</div></div>)}
}
export default TodoList;//下面是TodoItem子组件编写Import react {component} from ‘react’;Class TodoItemextend component{Costructor(props){Super(props);This.delete=this.delete.bind(this)}Delete(){Let deletIndex=this.props.index;This.props.deletValue(deletIndex)}Render(){Return(<div onclick={this.delete} > {this.Props.content} </div>)}}
export default TodoItem;


http://www.ppmy.cn/ops/162784.html

相关文章

conda 更换镜像究极方法

conda安装软件一直用的北外镜像&#xff0c;但是我租的服务器机构IP好像最近被屏蔽了&#xff0c;一直无法使用。机构内部搭了本地镜像。 在更换本地镜像&#xff08;修改.condarc文件&#xff09;后&#xff0c;新建环境可以正常使用本地镜像&#xff0c;但是之前建的环境依旧…

dify基础之prompts

摘要&#xff1a;在大型语言模型&#xff08;LLM&#xff09;应用中&#xff0c;Prompt&#xff08;提示词&#xff09;是连接用户意图与模型输出的核心工具。本文从概念、组成、设计原则到实践案例&#xff0c;系统讲解如何通过Prompt解锁LLM的潜能&#xff0c;提升生成内容的…

MAC M1 Pro 安装docker desktop 无法启动

MAC M1 Pro 安装docker desktop 无法启动 今天安装docker desktop&#xff0c;结果反反复复安装了很多遍&#xff0c;总是启动不成功&#xff0c;桌面启动好久然后弹出下图错误&#xff1a; 我先是按照一些解决方案尝试了比如https://dev59.com/mlEG5IYBdhLWcg3wP35V 卸载重…

如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器

文章目录 1. 安装配置GoLand2. 服务器开启SSH服务3. GoLand本地服务器远程连接测试4. 安装cpolar内网穿透远程访问服务器端 4.1 服务器端安装cpolar4.2 创建远程连接公网地址 5. 使用固定TCP地址远程开发 本文主要介绍使用GoLand通过SSH远程连接服务器&#xff0c;并结合cpol…

【3天快速入门WPF】13-MVVM进阶

目录 1. 窗体设置2. 字体图标3. 控件模板4. 页面逻辑4.1. 不使用MVVM4.2. MVVM模式实现本篇我们开发一个基于MVVM的登录页面,用来回顾下之前学习的内容 登录页面如下: 窗体取消了默认的标题栏,调整为带阴影的圆角窗体,左侧放一张登录背景图,右边自绘了一个关闭按钮,文本框…

Linux系统服务安全检测手记

一&#xff1a;服务器ip暴露ip和端口的安全问题 服务器IP和端口暴露在外网中确实存在一定的安全风险&#xff0c;以下是几个主要的安全问题及相应的缓解措施&#xff1a; ### 主要安全问题 1. **直接攻击**&#xff1a; - 暴露的IP地址和开放的端口可能成为黑客直接攻击的…

Pytorch中的主要函数

目录 一、torch.manual_seed(seed)二、torch.cuda.manual_seed(seed)三、torch.rand(*size, outNone, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)四、给大家写一个常用的自动选择电脑cuda 或者cpu 的小技巧五、torch.version.cuda&#xff1b;torch.bac…

云厂商中支持为物理服务器(如裸金属服务器)分配并显示公网IP

以下是主流云厂商中支持为物理服务器&#xff08;如裸金属服务器&#xff09;分配并显示公网IP的服务及操作说明&#xff1a; 1. AWS&#xff08;亚马逊云&#xff09; - 服务名称&#xff1a;EC2 Bare Metal Instances - 公网IP支持&#xff1a; - 默认在创建实例时可选…