当前位置: 首页 > news >正文

一个做音乐的网站舞钢网站建设

一个做音乐的网站,舞钢网站建设,公司网站中新闻中心怎样做优化,建一个网站容易吗什么是前端路由? 一个路径path对应一个component当我们在浏览器中访问一个path的时候,path对应的组件会在页面中进行渲染 简介 | React Router 中文文档 创建路由开发环境 使用路由我们还是采用CRA创建项目的方式进行基础环境配置 安装router npm i…

什么是前端路由?

一个路径path对应一个component当我们在浏览器中访问一个path的时候,path对应的组件会在页面中进行渲染

简介 | React Router 中文文档 

创建路由开发环境

使用路由我们还是采用CRA创建项目的方式进行基础环境配置

安装router
npm i react-router-dom
router配置

 新建router文件 
import Login from '../page/Login/index'
import Home from '../page/Home/index'import { createBrowserRouter } from 'react-router-dom'
const router = createBrowserRouter([{path:'/login',element:<Login></Login>},{path:'/Home',element:<Home></Home>}
])
export default router
在项目根目录index.js进行引入使用
import React from 'react'
import { createRoot } from 'react-dom/client'import App from './App'
//引入store
import store from './store/index'
import { Provider } from 'react-redux'
//引入router
import router from './router/index'
import { RouterProvider } from 'react-router-dom' const root = createRoot(document.getElementById('root'))
root.render(<RouterProvider router={router}><Provider store={store}><App /></Provider></RouterProvider>
)
路由导航
什么是路由导航?   页面跳转

路由系统中的多个路由之间需要进行路由跳转,并且在跳转的同时有可能需要传递参数进行通信

声明式导航

import { Link } from 'react-router-dom'
const Login = ()=>{return (<div>我是登录页   <Link to="/home">跳转home页</Link></div>)
}
export default Login
编程式导航

import { Link ,useNavigate} from 'react-router-dom'const Home = () => {const navatigate = useNavigate() //声明return(<div>我是home页<button onClick={()=>navatigate('/login')}>点击跳转到Login页</button></div>)
};
export default Home;
 导航传参

 第一种    拼接
传递参数 
import { Link } from 'react-router-dom'
const Login = ()=>{return (<div>我是登录页   //声明式导航传参<Link to="/home?name=我是首页&id=1">跳转home页</Link>//编程式导航传参<button onClick={()=>navatigate('/login?name=我是首页&id=1')}>点击跳转到Login页</button></div>)
}
export default Login
接收参数   使用useSearchParams
import { useSearchParams} from 'react-router-dom'const Home = () => {const [params] = useSearchParams()let id = params.get('id')console.log(params.get('id'),params.get('name'),id);return(<div>我是home页</div>)
};
export default Home;
第二种    params传参

 注意:使用params传参需要去router进行占位

传递参数
import { Link,useNavigate } from "react-router-dom";
const Login = () => {const navatigate = useNavigate()return (<div>我是登录页<Link to="/home/我是首页/1">跳转home页1</Link><button onClick={()=>navatigate('/home/我是登录页/1')}>点击跳转</button></div>);
};
export default Login;
接受参数
import { useParams} from 'react-router-dom'const Home = () => {const params1 = useParams()console.log(params1.id,params.name);return(<div>我是home页</div>)
};
export default Home;
这样是接收不到的,需要去路由进行占位
import Login from '../page/Login/index'
import Home from '../page/Home/index'import { createBrowserRouter } from 'react-router-dom'
const router = createBrowserRouter([{path:'/login',element:<Login></Login>},{path:'/home/:name/:id',element:<Home></Home>}
])
export default router

占位后即可拿到

http://www.dtcms.com/a/498432.html

相关文章:

  • 景区网站做电子商务的特点手机最新发布
  • 专门做孩子早教的网站中国最好的公司排名
  • wordpress+培训模板下载泰安抖音seo
  • 湛江网站建设方案报价怎么注册域名网址
  • wordpress 制作portfolio石家庄seo网站优化价格
  • 个人电影网站做APP违法吗网上注册公司需要什么材料和手续
  • 盐城做网站的价格wordpress 文章 函数
  • 重庆网站推广运营公司python基础教程第二版答案
  • 网站建设怎么好2021个人网站盈利模式
  • 新手建站详细步骤wordpress 内链设置
  • wordpress仿站标签wordpress安装包文件夹
  • 网站有利于seo的细节潍坊网站建设熊掌号
  • 腾讯云做视频网站做网站先建立模型
  • 如何防止网站被镜像一个人免费视频在线观看高清
  • 东莞单位网站建设网页设计样图
  • 湘潭做网站 z磐石网络网站建设公司前十名
  • 东莞企业网站哪家好服装定制合同范本
  • 深圳东门希尔顿欢朋酒店洛阳seo
  • 做贸易的都有什么网站推广宣传方式有哪些
  • 关于微网站策划ppt怎么做电子商务网站建设考试重点
  • 建筑网页设计广州seo招聘网
  • 做网站和微信小程序hishop多用户商城源码
  • wordpress文章目录树汕头seo托管
  • 顺企网属于什么网站移动互联网站开发与维护
  • 湖南建设监理协会网站如何查网站的百度快照
  • 重庆品牌营销型网站建设宁夏网站开发
  • 少儿图书销售网站开发背景建筑网站大全玻璃
  • 2015网站排名镇海区住房建设网站怎么查
  • 国家建设工程注册管理中心网站建设部网站电子政务
  • 杭州学校网站建设粤信签微信小程序是什么