在我的react应用程序中,我当前有:
<Router>
<div class Name="App">
<Route path="/" exact component={PersonList} />
<Route path="/rules" exact component={RulesPage} />
<Route path="/roles" exact component={RolesPage} />
<Route path="/test" exact component={Test} />
<Footer />
</div>
</Router>
然而,我希望页脚元素被隐藏,如果路由路径是"/test"这将是一个干净得多比写:
<Route path="/roles" exact component={Footer} />
<Route path="/rules" exact component={Footer} />
<Route path="/" exact component={Footer} />
如果有人知道这样做的功能,将不胜感激。
如果您不熟悉HOC模式,另一个选项是呈现
在您的页脚
组件中,您可以检查window.location.pathname
是否包括/test
,然后返回null
您可以创建一个高阶组件来呈现带有页脚的组件,然后可以在除/test
之外的所有路径上呈现该高阶组件。
高阶组件仅获取一个应与页脚
组件一起显示的组件,并返回另一个组件,该组件仅呈现包装好的组件以及页脚
组件。
function WithFooter(WrappedComponent) {
const EnhancedComponent = (props) => {
return (
<>
<WrappedComponent {...props} />
<Footer />
</>
);
};
return EnhancedComponent;
}
在此之后,您不需要导出PersonList
组件,而是需要导出通过调用WithFooter
高阶组件返回的组件,如下所示:
function PersonList() {
...
}
export default WithFooter(PersonList);
您需要对其他应该用页脚
呈现的组件也做同样的事情。
使用高阶组件所有设置,您的管线定义无需更改:
<Router>
<Route path="/" exact component={PersonList)} />
<Route path="/rules" exact component={RulesPage} />
<Route path="/roles" exact component={RolesPage} />
<Route path="/test" exact component={Test} />
</Router>
另一种解决方案是在使用窗口检查URL后有条件地呈现
页脚组件。位置
或
useParams()
钩子由react router dom
提供,但是useParams()
仅在使用react router呈现组件时才起作用。在您的情况下,您需要window.location
。
我想检查一个链接的href是否是网站路径之后的文件。代码如下: 有没有办法让它检查在“http://127.0.0.1:5500”后面是“/”还是“/index.html”?谢谢你!
新反应: 我有一个 组件,我只想在用户访问特定页面时隐藏该组件。 App.JS: main.js:
我对React Native非常陌生,我想知道如何隐藏/显示组件 这是我的测试用例: 我有一个组件,我想要的是当输入获得焦点时显示,然后当用户按下取消按钮时隐藏。 我不知道如何“访问”TouchableHighlight组件,以便在我的函数中隐藏/显示它 另外,如何从一开始就隐藏按钮?
问题内容: 我正在尝试按照以下说明进行操作:https ://wiki.jenkins- ci.org/display/JENKINS/Running+Jenkins+behind+Apache 将我的Jenkins服务器设置为出现在http:// myhost / jenkins上 。它可以工作,但是Jenkins网站认为http:// myhost /是jenkins /的根。 我相信此问题是
问题内容: 在花了一些时间学习React之后,我了解了创建组件的两个主要范例之间的区别。 我的问题是,什么时候应该使用哪个?为什么?一个人相对于另一个人的利益/取舍是什么? ES6课程: 功能性: 我认为只要没有状态可以由该组件操纵,功能就可以了,是吗? 我猜如果我使用任何生命周期方法,最好使用基于类的组件。 问题答案: 你有正确的主意。如果您的组件只做一些道具和渲染,那么功能就可以了。您可以将它
在花了一些时间学习React之后,我理解了创建组件的两种主要模式之间的差异。 我的问题是什么时候我应该使用哪一个,为什么?一种方法与另一种方法相比有哪些好处/利弊? ES6类: 功能: 我认为只要没有状态可被该组件操纵,就可以正常工作,但就这样吗? 我想如果我使用任何生命周期方法,最好使用基于类的组件。