一、拆分组件 首先第一步需要做的是将这个页面拆分成几个组件 首先顶部的输入框,可以完成添加项目的功能,可以拆分成一个Header 组件 中间部分可以实现一个渲染列表的功能,可以拆分成一个List 组件 在这部分里面,每一个待办事项都可以拆分成一个Item 组件 最后底部显示当前完成状态的部分,可以拆分成一个Footer 组件 ...
}// 清除所以已经完成的任务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...
首先我们需要在 Header 组件中,绑定键盘事件,判断按下的是否为回车,如果为回车,则将当前输入框中的内容传递给 APP 组件 因为,在目前的学习知识中,Header 组件和渲染组件List 属于兄弟组件,没有办法进行直接的数据传递,因此可以将数据传递给 APP 再由 APP 转发给 List。 // Header/index.jsx handleKeyUp = (eve...
import List from './List' import { useState } from 'react'; export default function App() { // 初始化数据 const [todos, setTodos] = useState([ { id: '01', name: '吃饭', done: true }, { id: '02', name: '睡觉', done: true }, ...
React 是一个用于构建用户界面的 JavaScript 库,主要特点有:声明式渲染:设计好数据和视图的关系,数据变化 React 自动渲染,不必亲自操作DOM组件化:页面切分成多个小部件,通过组装拼成整体页面,利于代码复用本文通过写个简单的 TodoList 实例,不求甚解,熟悉下 React 的开发过程。1. 安装 Node.js Node.js 是...
React入门实战实例——ToDoList实现,最近学习了一小段时间的React,对一些React开发组件的基础有了一点认识,跟着教学视频,自己实现了一个ToDoList组件的功能,今天把做这个组件的过程记录一下,加深学习印象,给同样的前端入门者做一个参考。...
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 ...
// 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...