一、拆分组件 首先第一步需要做的是将这个页面拆分成几个组件 首先顶部的输入框,可以完成添加项目的功能,可以拆分成一个Header 组件 中间部分可以实现一个渲染列表的功能,可以拆分成一个List 组件 在这部分里面,每一个待办事项都可以拆分成一个Item 组件 最后底部显示当前完成状态的部分,可以拆分成一个Footer 组件 ...
第四步.勾选与取消功能 App.jsx中定义一个勾选与取消的方法chekedTodo,通过List.jsx传给item.jsx,拿到input的id与当前的值给父组件,去判断拿到的id与原本的数据中的每一个id对比是否一致,一致的话,就改变当前的done的状态并且把状态值与以前的todo合并起来,否则就原封不动,最后把更新后的值重新设置一下 第五...
}// 清除所以已经完成的任务clearAllDone =() =>{const{ todoList } =this.state;constnewTodos = todoList.filter((item) =>{return!item.done})this.setState({ todoList : newTodos }) }render() {const{ todoList } =this.statereturn(todoList案例<HeaderaddTodo={this.addTodo}/><ListtodoList...
保存在App状态中的数据改变了还不够,还需要List获取并遍历,构造Item组件 父传子就很简单通过props // 思考:页面重新渲染,传参也会重新传一遍吗? <Listitems={items}/> 然后就是List遍历这个数组并构造Item组件,注意这里指定key 其实这里不是很明白怎么回事 return( { items.map((item) => { /*return<Item...
TodoList 案例在前端学习中挺重要的,从原生 JavaScript 的增删查改,到现在 React 的组件通信,都是一个不错的案例,这篇文章主要记录,还原一下通过 React 实现 TodoList 的全过程 一、拆分组件 首先第一步需要做的是将这个页面拆分成几个组件 首先顶部的输入框,可以完成添加项目的功能,可以拆分成一个Header 组件 ...
React 是一个用于构建用户界面的 JavaScript 库,主要特点有:声明式渲染:设计好数据和视图的关系,数据变化 React 自动渲染,不必亲自操作DOM组件化:页面切分成多个小部件,通过组装拼成整体页面,利于代码复用本文通过写个简单的 TodoList 实例,不求甚解,熟悉下 React 的开发过程。1. 安装 Node.js Node.js 是...
Step 1:npx create-react-app mobx-todo-list创建项目 Step 2:npm install -S mobx mobx-react安装 mobx 的相关依赖 Step 3: 使create-react-app 创建的项目支持装饰器语法 npm run eject npm install --save-dev babel-plugin-transform-decorators-legacy ...
React入门实战实例——ToDoList实现,最近学习了一小段时间的React,对一些React开发组件的基础有了一点认识,跟着教学视频,自己实现了一个ToDoList组件的功能,今天把做这个组件的过程记录一下,加深学习印象,给同样的前端入门者做一个参考。...
// todolist 增删 使用axios 使用easymock import axios from 'axios' import React,{Component,Fragment } from 'react' import XiaojijieItem from './XiaojiejieItem' //子组件 //Fragment组件的作用 代替最外层的div 在不需要div时代替div class Xiaojiejie extends Component{ ...
import React from 'react'; import ReactDOM from 'react-dom'; import TodoList from './TodoList'; ReactDOM.render(<TodoList />, document.getElementById('root')); 使用ReactDOM.createRoot() 函数渲染组件: const root = document.getElementById('root'); ReactDOM.createRoot(root).render(<Todo...