reactjs - 反应路由器渲染组件两次
问题描述
我有孩子和第一次加载,一切正常,但是一旦我盯着站点,组件开始渲染两次。我不确定我做错了什么。这是路由顶部结构:
<React.Suspense fallback={<span>Loading...</span>}>
<Switch>
<Route path={"/dashboard/optionOne"} component={OptionOne} />
<Route path={"/dashboard/OptionTwo"} component={OptionTwo}/>
<Switch>
</React.Suspense>
然后这些是子路由: OptionOne Component
<Switch>
<Route exact path={path} component={OptionOneContainer}/>
<Route path={`${path}/subChildOne`} component={SubChildOne}/>
<Route path={`${path}/:subChildTwo`} component={SubChildTwo}/>
</Switch>
OptionTwo 组件
<Switch>
<Route exact path={path} component={OptionTwoContainer}/>
<Route path={`${path}/OptionTwoSubChildOne`} component={OptionTwoSubChildOne}/>
<Route path={`${path}/:OptionTwoSubChildTwo`} component={OptionTwoSubChildTwo}/>
</Switch>
我有一个顶部组件标题,可帮助浏览站点仪表板:
const navigate=(path)=>{
history.push(path)
}
<div>
<Link to={"/dashboard/optionOne"}>OptionOne</Link>
<div onClick={()=>navigate("/dashboard/optionOne")}>OptionOne</div>
<div onClick={()=>navigate("/dashboard/optionTwo")}>OptionTwo</div>
</div>
一旦单击链接进行导航,甚至使用 history.push,组件就会渲染两次。有什么建议么?
解决方案
推荐阅读
- python - 将 pandas DataFrame 添加到 SQL
- c - 具有上次 strcat 调用数据的 Strcat 结果
- python - 此 Python 脚本目前受输入城市数量的限制,我希望它接受任意数量的城市
- android - 如何获取视图的 x & Y 坐标
- python - 合并两个 json url 的麻烦
- python - 如何刮掉a下的一行文本标签又在一个标签
- ionic-framework - 背景模式在 ionic 5 中不起作用
- javascript - 为什么我在使用 express 重定向后无法加载我的 css 文件?
- javascript - 根据文档中的另一个字段更新字段
- vue.js - 如何添加加载程序来处理 .mpd 和 .mp4s 文件类型(破折号媒体文件)?