Javascript Don';是否在特定路径上渲染路由?

Javascript Don';是否在特定路径上渲染路由?,javascript,react-native,react-router,react-router-v4,react-router-native,Javascript,React Native,React Router,React Router V4,React Router Native,我正在使用我想隐藏特定路径上的组件 <NativeRouter history={nativeHistory}> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> <Footer /> </NativeRouter> 在我的Home组件中,当单击链接时关于组件必须渲染页脚必须隐藏&对于其余的路由页脚必须

我正在使用我想隐藏特定路径上的组件

<NativeRouter history={nativeHistory}>
  <Route exact path="/" component={Home} />
  <Route path="/about" component={About} />
  <Footer />
</NativeRouter>

在我的
Home
组件中,当单击链接时
关于
组件必须渲染
页脚
必须隐藏&对于其余的路由
页脚
必须渲染<代码>页脚
是一个无状态组件

我已尝试访问我的
Footer
组件中的
props.location
,但其
未定义
,因为
props
是空对象
{}


我的问题是,如何将不渲染特定组件的唯一路径列入黑名单

在页脚组件上,您可以检查currentPath并相应地呈现该组件。我没有使用React Router Native,所以我真的不知道如何才能做到这一点


我建议您使用一些其他的导航组件,这些组件比较新,并且仍在维护中。是我可以推荐的其中之一。

您可以使用路由器
访问
道具。位置
页脚中。
只需将返回值用
与路由器
包装,您将获得与用作路由组件的其他组件相同的道具

例如,您的
Footer.js
应该如下所示:

import { withRouter } from 'react-router-dom';

class Footer extends React.Component {
  render() {
    ...
    // here you can access this.props.location and this.props.match
  }
}

export default withRouter(Footer);

是的,我试过了,但转到了这个,因为除了一个屏幕外,我不知道如何在所有屏幕中使用页脚组件。另外,它太难理解何时使用堆栈导航器和选项卡导航器,所以我转到这里。我当时也在想,现在再次进入React导航你的回答是正确的,但这就是问题本身。我无法访问页脚组件的历史记录,否则我将在没有将其发布到StackOverflow的情况下已经完成了。您是否尝试将页脚组件添加到主组件中,而不是在rooter上。这样就不必控制路径了,因为页脚没有包含在路径上。NOPE我有很多组件,比如“代码>首页\代码>,考虑<代码>联系人< /代码>,<代码>配置文件< /代码>,
Messages
&我不想通过在每个其他组件中添加
Footer
组件来复制代码,因为这会打乱我当前的样式,但这是一种很好的方法。如果没有任何效果,我会试试这个,因为我只需要修改一些样式。太棒了,这就是我想要的