总字数 1k
预计阅读时间 4 分钟
熟悉一下react,使用parcel
作为打包工具,使用ant-design
作为组件库
添加依赖
1 | "devDependencies": { |
其中react
和react-dom
是使用react构建项目必须的
如果需要使用typescript编写代码,还需要引入@types/react
另外dayjs是antd要求引入的依赖
模板页面
1 |
|
添加一个id为app的div作为根元素
并且引入入口文件index.tsx
tsconfig.json配置文件
1 | { |
编写根组件
1 | // App.tsx |
编写入口文件
1 | // index.tsx |
这里的操作就是将上一步编写的根组件加载到根元素当中
开发模式与打包
开发模式
1 | parcel src/index.html |
打包构建
1 | parcel build src/index.html |
react组件生命周期
组件的生命周期可分成三个状态:
- Mounting:已插入真实 DOM
- Updating:正在被重新渲染
- Unmounting:已移出真实 DOM
生命周期的方法
- componentWillMount 在渲染前调用,在客户端也在服务端。
- componentDidMount 在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构,可以通过this.getDOMNode()来进行访问。
- componentWillReceiveProps 在组件接收到一个新的 prop (更新后)时被调用。这个方法在初始化render时不会被调用。
- shouldComponentUpdate 返回一个布尔值。在组件接收到新的props或者state时被调用。在初始化时或者使用forceUpdate时不被调用。
可以在你确认不需要更新组件时使用。 - componentWillUpdate 在组件接收到新的props或者state但还没有render时被调用。在初始化时不会被调用。
- componentDidUpdate 在组件完成更新后立即调用。在初始化时不会被调用。
- componentWillUnmount 在组件从 DOM 中移除之前立刻被调用。
路由
引入依赖
1 | npm install react-router-dom --save |
react-router
与react-router-dom
前者实现了路由的核心功能
后者基于react-router,加入了在浏览器运行环境下的一些功能
引入后者相当于间接引入了前者
编写路由页面
1 | import React, { PureComponent } from 'react' |
- 路由分为
HashRouter
和BrowserRouter
两种
相当于vue-router当中的hash和history两种模式 NavLink
会被渲染为一个a标签,作为路由跳转的链接
与Link
相比多了一些属性,比如activeClassName,便于样式的调整Route
就是路由对应的页面