从零搭建一个react-hooks项目(三)

从零搭建一个react-hooks项目(三)

  • 上一篇我们配置了项目相关,包括代码压缩混淆,开发生产配置抽离,图片与文字的引入使用等
  • 接下来我们就配置一下react-router,react-redux与typescript
  • 配置之前我们先补充一下webpack的部分配置,用于方便我们的开发
  • 在webpack.common.js中配置webpack的查找规则,也就是resolve,如下
...
module.exports = {
   
  entry: {
   
    ...
  },
  module: {
   
    ...
  },
  resolve: {
   
    extensions: ['.jsx', '.js', '.json'],
    alias: {
   
      "@": path.resolve(__dirname, 'src')
    }
  },
  plugins: [
    ...
  ],
  optimization: {
    // 公共代码抽离
    ...
  }
}
  • 上面新增了一个resolve的解析规则,使webpack方便查找,第一个extensions中的配置表示我们在引入后缀为.jsx,.js,.json的文件时,可以直接写文件名而不用加后缀,比如引入’./index.jsx’,我们就可以直接写为’./index’
  • 下面的alias就是别名配置,用于在引入路径时方便使用,比如我们在项目中有如下的代码结构
src 
├── lib 
│ └── utils.js 
└── pages 
└── demo 
└── index.js
  • 在 src/pages/demo/index.js 中如果要引用 src/lib/utils.js 那么可以通过:import utils from ‘…/…/lib/utils’ ,如果目录更深一些,会越来越难看,这时可以通过设置 alias 来缩短这种写法,例如:
module.exports = {
   
  resolve: {
   
      '@': path.resolve(__dirname, 'src'),
      '@lib': path.resolve(__dirname, 'src/lib')
  }
}

  • 这样我们就可以直接使用 '@lib/utils’来进行文件的引入了

react-router的使用

  • 配置完resolve之后我们就开始进行react-router的配置了,还是先下载react-router-dom模块,命令为: npm i react-router-dom -S
  • 然后在src下新建两个页面,pages/login.jsx与pages/home.jsx作为我们的路由页面
// pages/home.jsx
import React from 'react'
const Home = () => {
   
  return (
    <div>我是首页</div>
  )
}
export default Home

// pages/login.jsx
import React from 'react'
const Login = () => {
   
  return (
    <div>我是登录页</div>
  )
}
export default Login
  • 接着在src下新建routes/index.jsx文件作为我们的路由管理页面
  • 在文件内引入react与react-router-dom,然后引入新建的login页面与home页面
  • 页面代码如下
// routes/index.jsx
import React from 'react'
import {
    HashRouter as Router, Route, Switch, Redirect } from 'react-router-dom'
import Login from '@/pages/login'
import Home from '@/pages/home'
const RouteConfig = () => 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Hooks 实战项目包括解决真实开发场景下的问题和应用基础知识、进阶知识以及实践经验。这些项目可以帮助开发者在实际开发中更加游刃有余地应用 React Hooks。其中一些项目包括: 1. React 基础知识项目: - 搭建 React 项目:学习如何使用 React 创建一个新的项目。 - React 组件:了解如何创建和使用 React 组件,以及组件之间的通信。 - JSX 语法:学习如何在 React 中使用 JSX 语法来创建组件。 - CSS 处理方案:探索不同的 CSS 处理方案,如 CSS-in-JS 或 CSS 模块化等。 - 生命周期:了解 React 组件的生命周期及其使用方法。 2. React 进阶知识项目: - 表单处理:学习如何使用 React 处理表单输入,并验证和提交表单数据。 - 事件处理:掌握 React 中处理事件的方法,如点击事件、输入事件等。 - Portals 的使用:了解如何使用 Portals 在 React 中实现跨组件的 DOM 渲染。 - 状态管理:学习如何使用状态管理库(如 Redux 或 Mobx)来管理应用程序的状态。 3. 实战项目: - 社交媒体应用程序:开发一个基于 React Hooks 的社交媒体应用,包括用户认证、发布消息、评论等功能。 - 待办事项应用程序:使用 React Hooks 构建一个简单的待办事项列表应用,实现添加、删除和完成任务等功能。 - 博客应用程序:开发一个博客应用,包括文章列表、文章详情、评论等功能。 通过这些实战项目,开发者可以在实践中掌握 React Hooks 的使用,应对真实开发场景中的问题,并提升自己的 React 技能水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值