reactjs - 为什么当我路由另一个页面时无法更改导航栏上的按钮文本 React
问题描述
我正在尝试通过页面自定义按钮。我的意思是当我更改页面时,我想在更改路线时更改导航栏按钮的名称。但是当我更改位置时,它没有显示正确的按钮而没有刷新页面。我怎么能修好。
Navbar.js
function StyledNavbar() {
const checkPath = (pathname) => {
if (pathname === '/details') {
return (<div>
<Link to='/' style={{marginRight:'10px'}}><button>Home</button></Link>
<Link to='/favorites'><button>Favorites</button></Link>
</div>)
}
else if (pathname === '/favorites') {
return (<Link to='/'><button>Home</button></Link>)
}
else if (pathname === '/') {
return (<Link to='/favorites'><button>Favorites</button></Link>)
}
}
useEffect(checkPath,[window.location.pathname])...}
App.js
function App() {
return(
<Router>
<Navbar/>
<Switch>
<Route exact path='/'>
<Home/>
</Route>
<Route path='/favorites'>
<Favorites/>
</Route>
{/* <Route path='/details/:id'> */}
<Route path='/details'>
<Details/>
</Route>
</Switch>
</Router>
)...}
解决方案
推荐阅读
- javascript - 当导航选项卡位于其中时,引导滚动模式不起作用
- r - 如何按组/子集进行 Leave One Out 交叉验证?
- java - 什么是 Java 中的“单代”垃圾收集器?
- python - ValueError:在 if 语句中对已关闭文件的 I/O 操作
- python - Django Elastic Search: Elastic returns nothing
- matplotlib - 如何保存由 matplot 生成的交互式绘图
- amazon-web-services - 如何为 DynamoDB 查询中的分页生成可靠的“hasMoreResults”值
- c# - 错误:传递给 ViewDataDictionary 的模型项的类型为“System.Net.Http.HttpResponseMessage”,但这
- amazon-web-services - AWS:创建新环境(tomcat-single-instance):带有 SSL 证书的 .ebextensions - 无法启动
- docusignapi - docusign NodeJS 中有没有一种方法可以使用 X-DocuSign-Authentication 进行身份验证