React 在Dva项目中修改路由配置,并创建一个自己的路由

之后的话 我们还是来看一下Dva路由的配置
首先 我们在项目刚创建完 他就给了我们一个路径 叫routes
在这里插入图片描述
然后 IndexPage.js 是最初的一个组件 之前我们也用过了

然后 我们看到 src目录下的 index.js
这里 就有一个路由的匹配
在这里插入图片描述
他加载的就是 同目录下 一个 router的文件
在这里插入图片描述
我们点开这个router.js
会发现 这个代码就是我们比较基本的一个路由配置代码
在这里插入图片描述
而 他这里 /指向的路由 正好就是 同目录下的 routes下的 IndexPage
在这里插入图片描述
然后 我们还是看会 index.js
我们 按下图代码 将路由的引入改一下
在这里插入图片描述
我们直接在上面通过 import导入router
我们运行项目 会发现 这样也是可以的 其实
在这里插入图片描述
那他为什么要

app.router(require('./router').default);

这样写呢?

我们可以在index中这样改一下
在这里插入图片描述
将他们都输出一下
在这里插入图片描述
首先 我们router.js导出的是一个函数 如果你直接用import引入 那么 他肯定是个函数
但是 如果你用require将文件导进来 他就是个对象
要通过default字段取到这个函数 但是 他们非要分个好坏 没有什么可比的 只能说 官方这样写 最好还是保持官方的
新手来看你代码也不至于蒙了在这里插入图片描述
好 那么 为了方便我们项目管理 我们在src下的 routes 文件夹下创建一个文件夹 叫 IndexPage
然后 将它原有的两个文件引进来
在这里插入图片描述
然后看到 IndexPage.css 其中有一个图片的引入 因为 之前是 …/但是我们现在又往下了一层 就多加一个…/
在这里插入图片描述
然后看到 src下的router.js 对应改一下根路由文件的引入路径
在这里插入图片描述
那么 我们再多加一多一个路由
在src下的routes文件夹中创建一个文件夹目录 叫 ProductPage
下面创建一个 IndexPage.js
在这里插入图片描述
这里面 你就可以用任何react支持的形式去创建一个组件 例如 类 或者 Hook
这里 因为类是最基本的 考虑有人可能没接触过Hook
我这里就直接写一个类的形式给大家参考组件了

参考代码如下

import React from "react"
export default class dom extends React.Component {
    
    
    constructor(props){
    
    
      super(props);
      this.state = {
    
    
      }
    }

    render(){
    
    
      return (
        <div>
           这是一个基本的react组件
        </div>
      )
    }
}

这就是一个很基本的react组件

然后 在src下的router.js创建这个路由就好了
在这里插入图片描述
官方还默认给根路由加上了 exact 这个意思就是 因为 / 在最前面 例如 我们访问我们刚创建的/ProductPage 那么 这个内容还是包含有 / 的 那么 因为 / 在前面 就先回匹配它
但是加上了exact 就相当于约定了精准匹配 必须是完全一样的 包含没用

然后 我们运行代码 访问项目的 ProductPage 路由 可以看到 我们的路由就出来了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45966674/article/details/131622712