概述
一个基本react的项目需要一些额外的组件,比如React Router,公共状态管理组件,还有第三方的UI组件库等
React Router
安装 (官网:https://reactrouter.com/web/guides/quick-start)
bash1
npm install --save react-router-dom
入口文件中引入资源,添加相关逻辑代码
/src/index.js
javascript1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61//...
// 引入router组件
import {
BrowserRouter as Router,
Switch,
Route,
Link,
} from 'react-router-dom';
// ...
function App() {
return (
<div className="app">
<Router>
<div>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
<li>
<Link to="/users">Users</Link>
</li>
</ul>
</nav>
<Switch>
<Route path="/about">
<About />
</Route>
<Route path="/users">
<Users />
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</div>
</Router>
</div>
);
}
function Home() {
return <h2>Home</h2>;
}
function About() {
return <h2>About</h2>;
}
function Users() {
return <h2>Users</h2>;
}
// ...查看效果
UI组件库:Ant Design of React
安装
bash1
npm install --save antd
入口js文件头部引入antd css样式文件
/src/index.js
javascript1
2
3
4
5
6//...
// 引入antd组件库
import 'antd/dist/antd.css';
//...使用组件
javascript1
2
3
4
5
6
7
8
9
10import { DatePicker } from 'antd';
export default function Home() {
return (
<h2>
Home
<DatePicker />
</h2>
);
}查看效果
调整项目入口页面
在引入了 React Router 和 antd 之后,我们可以根据 antd 的 layout 组件来搭建页面的骨架,配合 React Router 来做系统的导航,具体项目的调整细节请参考commit:add the react router & antd design components
利用react原生支持的代码分割来做模块代码的分割和懒加载
javascript1
2
3
4
5
6
7
8
9
10
11
12
13const Index = lazy(() => import(/* webpackChunkName: "Index" */'../../modules/index'));
function App() {
return (
<Switch>
<Route path={url.app.index.path}>
<Suspense fallback={<div>loading</div>}>
<Index />
</Suspense>
</Route>
</Switch>
)
}调整后效果
easy-peasy 全局状态管理
简介
Easy Peasy 提供了一个直观的API,可以快速、轻松地管理您的React应用程序的状态。
使用
安装 (官网:https://easy-peasy.now.sh/)
bash1
npm install --save easy-peasy
基本使用
见之前的博客 React状态管理之easy-peasy