02-React脚手架+Todos项目(组件拆分, State应用, 组件通信+数据校验, nanoid)

2022-08-24 08:37:37 浏览数 (1)

全局安装Yarn

安装Cnpm

代码语言:javascript复制
npm install -g cnpm --registry=https://registry.npm.taobao.org

全局安装yarn

代码语言:javascript复制
cnpm install -g yarn

修改Yarn为淘宝数据源

代码语言:javascript复制
yarn config set registry https://registry.NPM.Taobao.org

全局安装create-react-app

代码语言:javascript复制
npm i create-react-app -g

创建脚手架项目

代码语言:javascript复制
# create-react-app 项目名称
create-react-app react_staging

启动项目

代码语言:javascript复制
yarn start
# 项目地址
http://localhost:3000/

Todos案例Demo

依照于上面的React脚手架开发

效果

代码

代码语言:javascript复制
https://gitee.com/flower-dance-mrz/react_todos

知识点

组件拆分

将组件拆分为上中下

将中间的组件的每一行又拆分为一个组件

只是为了演示效果, 具体开发自行评估

数据存放位置

数据存放在同一父级中, 并且在父级中提供操作方法

组件通信

父组件传递子组件

通过Props传递

子组件传递父组件

通过Props传递函数, 然后在子组件中回调父组件中的函数, 实现

checked 与 defaultChecked

defaultChecked只有在第一次初始化的时候, 才会渲染, 只执行一次, 后续数据改变, 不会触发重新渲染

checked每次都会渲染, 但是如果使用checked, 必须实现onChange函数, 处理状态改变, 不然就会无法取消选中,或者选中

前端生成唯一ID(nanoid)

添加nanoid依赖库

代码语言:javascript复制
yarn add nanoid

使用

导入后以函数的方式调用

Props数据校验

脚手架不会自动依赖这个库,需要手动依赖, 使用方式和之前一样, 我就只写添加依赖库了

代码语言:javascript复制
yarn add prop-types

0 人点赞