Reactjs隐藏导航条在所有组件有路径= /admin/



我想隐藏我的导航栏,当我在所有的页面有路径='/admin/…"但是它太长了。我该怎么洗呢,非常感谢。

let HideHeader = window.location.pathname === '/admin/info' && '/admin/setting' && '/admin/post' && '/admin/messange' ? null : <MyNav username={username} />

您可以使用简单的字符串方法,如startsWith(),search(),indexOf(),includes()

https://www.w3schools.com/jsref/jsref_search.asp

https://www.w3schools.com/jsref/jsref_startswith.asp

https://www.w3schools.com/jsref/jsref_indexof.asp

startsWith

window.location.pathname.startsWith('/admin')

如果URL以/admin

开头,返回true

(window.location.pathname.search('/admin') !== -1)

如果URL包含/admin

,返回trueindexOf

(window.location.pathname.indexOf('/admin') !== -1)

如果URL包含/admin

,返回true

可以使用indexOf:

let HideHeader = window.location.pathname.indexOf('/admin/') === 0 ? null : <MyNav username={username} />

它将测试以/admin/

开头的路径名

尝试使用includes()方法:

let HideHeader = window.location.pathname.includes('/admin/') ? null : <MyNav username={username} />

您可以使用匹配方法与正则表达式

let HideHeader =  !window.location.pathname.match(//admin.*/g) && <MyNav username={username} />

最有效、语义正确且可理解的解决方案- startsWith:

window.location.pathname.startsWith('/admin');

相关内容

  • 没有找到相关文章

最新更新