• React入门——制作一个TodoList App


    源码

    import React, { Component, Fragment } from "react";
    
    class TodoList extends Component {
      constructor(props) {
        super(props);
        this.state = {
          inputValue: "",
          list: ["Learn React", "Play LOL"]
        };
      }
      render() {
        return (
          <Fragment>
            <div>
              <input
                value={this.state.inputValue}
                onChange={this.handleInPutChange.bind(this)}
                onChange={this.handleInPutChange.bind(this)}
              />
              <button onClick={this.handleBtnClick.bind(this)}>Submit</button>
            </div>
            <ul>
              {this.state.list.map((item, index) => {
                return (
                  //这里不推荐直接用index来做为map的key
                  <li key={index} onClick={this.handleItemDelete.bind(this, index)}>
                    {item}
                  </li>
                );
              })}
            </ul>
          </Fragment>
        );
      }
      // 提交输入
      handleBtnClick(e) {
        this.setState({
          list: [...this.state.list, this.state.inputValue], //将输入添加到state中的list
          inputValue: "" //清除inputValue
        });
      }
      // 添加改变事件
      handleInPutChange(e) {
        this.setState({
          inputValue: e.target.value //将输入映射到state
        });
      }
      //添加删除事件
      handleItemDelete(index) {
        const list = [...this.state.list]; //复制原来的数组
        list.splice(index, 1); //对副本进行删除
        this.setState({
          list: list //将修改之后的list赋值给state
        });
      }
    }
    
    export default TodoList;
  • 相关阅读:
    关于OI的文学作品
    HBOI 2020 游记
    从0开始的字符串生活(选手命要没了)
    近两年HBOI选做
    NOI online #3
    2020年“美团杯”程序设计挑战赛题解(目前只有测试赛)
    退群咕咕墙
    JS 获得当前地址栏url
    你了解getBoundingClientRect()?
    字符串与数字相加
  • 原文地址:https://www.cnblogs.com/YooHoeh/p/9308442.html
Copyright © 2020-2023  润新知