create react app简单搭建react项目

create react app

运行npm run eject暴露webpack.config.js文件

安装node-sass less less-loader(注意与webpack版本匹配)

新建route.js文件,在文件中配置路由列表

import Home from './pages/Home'

export const routeList=[{
    path:'/',
    component:Home
}]

安装 react-router-dom(6.x)

该版本中将Switch改为Routes,Route中的component属性改为element

路由跳转使用useNavigate()方法,否则会有路由更新但页面不更新的问题

const history = useNavigate()
history('http://xxxxxxx')

使用useParams()获取路由中的动态参数

 在App.js中引入Route

新建route组件,根据route.js文件进行路由嵌套处理,然后将route组价引入App.js中使用

const renderRoute = (list: RouteType[]) => {

    return list.map(item => {
      if (!item.children) {
        return <Route key={item.path} path={item.path} element={<item.component />} />
      }
      return <Route key={item.path} path={item.path} element={<item.component />} >
        {item.children.map(el => <Route key={el.path} path={el.path} element={<el.component />} />)}
      </Route>
    })
  }

  return <HashRouter >
    <Routes>
      {renderRoute(routerList)}
    </Routes>
  </HashRouter>

新建layout.tsx文件

在layout文件中引入react-router-dom中的 <Outlet/>(相当于this.props.child)。

也可以在该页面中引入react-router-dom中的useLocation,useParams,useNavigate等方法进行之后页面的路由相关配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值