avatar

目录
从零构建React Todo项目(六)添加项目常用组件

概述

一个基本react的项目需要一些额外的组件,比如React Router,公共状态管理组件,还有第三方的UI组件库等


React Router

  1. 安装 (官网:https://reactrouter.com/web/guides/quick-start)

    bash
    1
    npm install --save react-router-dom
  2. 入口文件中引入资源,添加相关逻辑代码

    /src/index.js

    javascript
    1
    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>;
    }

    // ...
  3. 查看效果

    WX20200910-150718.png


UI组件库:Ant Design of React

  1. 安装

    bash
    1
    npm install --save antd
  2. 入口js文件头部引入antd css样式文件

    /src/index.js

    javascript
    1
    2
    3
    4
    5
    6
    //...

    // 引入antd组件库
    import 'antd/dist/antd.css';

    //...
  3. 使用组件

    javascript
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import { DatePicker } from 'antd';

    export default function Home() {
    return (
    <h2>
    Home
    <DatePicker />
    </h2>
    );
    }
  4. 查看效果

    WX20200910-152427.png


调整项目入口页面

  1. 在引入了 React Router 和 antd 之后,我们可以根据 antd 的 layout 组件来搭建页面的骨架,配合 React Router 来做系统的导航,具体项目的调整细节请参考commit:add the react router & antd design components

  2. 利用react原生支持的代码分割来做模块代码的分割和懒加载

    javascript
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    const 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>
    )
    }
  3. 调整后效果

    WX20200910-173534.png


easy-peasy 全局状态管理

简介

Easy Peasy 提供了一个直观的API,可以快速、轻松地管理您的React应用程序的状态。

使用

  1. 安装 (官网:https://easy-peasy.now.sh/)

    bash
    1
    npm install --save easy-peasy
  2. 基本使用

    见之前的博客 React状态管理之easy-peasy

文章作者: 盛顺炎
文章链接: https://www.shengshunyan.xyz/2020/09/10/%E4%BB%8E%E9%9B%B6%E6%9E%84%E5%BB%BAReact%20Todo%E9%A1%B9%E7%9B%AE(%E5%85%AD)%E6%B7%BB%E5%8A%A0%E9%A1%B9%E7%9B%AE%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 果实的技术分享
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论