反应:在特定路线上隐藏组件

反应:在特定路线上隐藏组件,第1张

反应:在特定路线上隐藏组件

我也是React的新手,但是遇到了这个问题。

react-router
可接受答案的一个基本替代方法是use
withRouter
,它包装了您要隐藏的组件并为其提供了
location
prop(以及其他)。

import { withRouter } from 'react-router-dom';    const ComponentToHide = (props) => {  const { location } = props;  if (location.pathname.match(/routeOnWhichToHideIt/)){    return null;  }  return (    <ComponentToHideContent/>  )}const ComponentThatHides = withRouter(ComponentToHide);

请注意,尽管来自文档的警告

withRouter不像React
Redux的connect那样订阅位置更改以进行状态更改。而是在位置更改后从组件传播出来,然后重新渲染。这意味着withRouter不会在路由转换时重新呈现,除非其父组件重新呈现。

尽管没有这个警告,但对于与OP非常相似的用例,这种方法似乎对我有用。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5050110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存