实际开发中,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>
相关推荐
Shi_haoliu4 小时前
openClaw源码部署-linux
前端·python·ai·openclaw
程序员小寒4 小时前
前端性能优化之白屏、卡顿指标和网络环境采集篇
前端·javascript·网络·性能优化
烛阴4 小时前
Claude CLI AskUserQuestion 工具详解:让 AI 开口问你
前端·claude
wal13145205 小时前
OpenClaw教程(九)—— 彻底告别!OpenClaw 卸载不残留指南
前端·网络·人工智能·chrome·安全·openclaw
mon_star°5 小时前
在TypeScript中,接口MenuItem定义中,为什么有的属性带问号?,有的不带呢?
前端
牛奶5 小时前
分享一个开源项目,让 AI 辅助开发真正高效起来
前端·人工智能·全栈
次顶级6 小时前
表单多文件上传和其他参数处理
前端·javascript·html
why技术6 小时前
我拿到了腾讯QClaw的内测码,然后沉默了。
前端·后端
小一梦7 小时前
宝塔面板单域名部署多个 Vue 项目:从路径冲突到完美共存
服务器·javascript·vue.js