实际开发中,React应用常见问题【持续更新中】

实际开发中,React应用常见问题【持续更新中】

实际开发中,React应用常见问题【持续更新中】

一、路由相关

"react-router-dom": "^6.14.2", "react": "^18.2.0",

1、监听路由

ts 复制代码
import { useLocation } from 'react-router-dom'

export default function AppHeader() {
  const [selectMenu, setSelectMenu] = useState<string>('')
  const location = useLocation()
  useEffect(() => {
    // location: 页面刷新 和 路径变化【触发路由】 都会监听到
    // 解决页面刷新或者是用户手动输入路径时, 路径和menu选中状态不匹配的问题
    setSelectMenu(location.pathname)
  }, [location])
  return <>test</>
}

2、路由编程式导航

useNavigate()

ts 复制代码
import { useNavigate } from 'react-router-dom'


export default function AppHeader() {

  const navigate = useNavigate()
  const toOtherPageByPath = () => {
  	// 未携带参数的编程式导航
    navigate(路由path)
  }
  return (
    <>
    	<button onClick={toOtherPageByPath}>test</button>
    </>
  )

3、路由链接导航

ts 复制代码
import { Link } from 'react-router-dom'
<Link to={'路径'}>Back Home</Link>
相关推荐
ahhdfjfdf1 分钟前
最全的`Map` 和 `WeakMap`的区别
前端
LAM LAB5 分钟前
【VBA】WPS/PPT设置标题字体
javascript·powerpoint·vba·wps
JYeontu6 分钟前
实现一个带@功能的输入框组件
前端·javascript·vue.js
一颗奇趣蛋22 分钟前
vue-router的query和params的区别(附实际用法)
前端·vue.js
孤城28627 分钟前
MAC电脑常用操作
前端·macos·快捷键·新手·电脑使用
木亦Sam28 分钟前
Vue DevTools逆向工程:自己实现一个组件热更新调试器
前端
酷酷的阿云28 分钟前
动画与过渡效果:UnoCSS内置动画库的实战应用
前端·css·typescript
dleei28 分钟前
使用docker创建gitlab仓库
前端·docker·gitlab
勤劳的代码小蜜蜂29 分钟前
大文件上传:告别传统传输瓶颈,让数据流转更高效
前端
前端大卫29 分钟前
Echarts 饼图的创新绘制技巧(附 Demo 和源码)
前端·javascript·echarts