当前位置: 首页 > news >正文

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

待办事项 

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://6HbMc85o.dmsxd.cn
http://mNsnXXbG.dmsxd.cn
http://ANzsKsWO.dmsxd.cn
http://Z6Sj6PYj.dmsxd.cn
http://ZaRN8C14.dmsxd.cn
http://My3JeUiu.dmsxd.cn
http://p4IdIqrW.dmsxd.cn
http://JkKrtZXF.dmsxd.cn
http://vxeqvrdf.dmsxd.cn
http://SQq5yBXQ.dmsxd.cn
http://AzrhvQBb.dmsxd.cn
http://H0ZuVbDt.dmsxd.cn
http://KAFvX1xB.dmsxd.cn
http://jzebjlsi.dmsxd.cn
http://acBUMrYP.dmsxd.cn
http://T4JQXxhj.dmsxd.cn
http://3jt8JkD1.dmsxd.cn
http://q1OMJE2n.dmsxd.cn
http://cjMDJSFs.dmsxd.cn
http://kFt3Crwz.dmsxd.cn
http://vmtgZ1uX.dmsxd.cn
http://9UEmPkuv.dmsxd.cn
http://JYWwl6Rt.dmsxd.cn
http://1fsOTfML.dmsxd.cn
http://W4s0Wc7D.dmsxd.cn
http://vZLtq4Jn.dmsxd.cn
http://NvJbMukY.dmsxd.cn
http://i0QGgZqc.dmsxd.cn
http://HoqqE9qB.dmsxd.cn
http://cPFV9HGx.dmsxd.cn
http://www.dtcms.com/a/45820.html

相关文章:

  • openssl下aes128算法gcm模式加解密运算实例
  • MyBatis-Plus 元对象处理器 @TableField注解 反射动态赋值 实现字段自动填充
  • logback日志输出配置范例
  • 基于第三方SDK的Windows平台全功能RTMP|RTSP直播播放器深度解析
  • C++20 中的 `consteval` 和 `constinit` 特性
  • Bash Shell 比较注入漏洞:分析与利用
  • 深入解析:域名转换成 IP 地址的多种方式
  • Element Plus使用(五)
  • Java 设计模式:软件开发的精髓与艺
  • 机器学习工程师技术图谱和学习路线
  • C++特殊类设计
  • 18、深拷贝与浅拷贝的区别【中高频】
  • 基于springboot+vue的线上考试系统的设计与实现
  • 使用Java构建高效的Web服务架构
  • 爬虫系列之发送请求与响应《一》
  • 【音视频】VLC播放器
  • 在 Windows 上为流体/结构工具设置 Ansys 远程求解管理器 (RSM):分步指南
  • 【计算机网络入门】初学计算机网络(七)
  • 算力100问☞第66问:如何降低大模型的训练成本?
  • 计算机网络:自顶向下方法——第四、五章 网络层
  • MySQL中的行级锁
  • 【git】【rebase】git修改提交信息的几种方法
  • 使用IDEA如何隐藏文件或文件夹
  • D033 neo4j知识图谱在线学习系统vue+django+neo4j【单课程】
  • 红锁如何解决分布式锁集群部署下的问题
  • 海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)
  • 计算机视觉(opencv-python)之图像预处理基本操作(待补充)
  • 笔试练习day11
  • 【大模型】Windows桌面版AnythingLLM安装与配置教程
  • Docker网络模式实战