reactjs - 如何在除一个之外的所有路由中显示反应组件?
问题描述
我希望我的 ProjectButton 组件在除 /projects 之外的所有路由中呈现。有没有办法用反应路由器来处理这个问题?
<Router>
<React.Fragment>
<Route path={baseURL} component={ProjectButton} />
<Route exact path={baseURL} component={Home} />
<Route exact path={baseURL + '/about'} component={About} />
<Route exact path={baseURL + '/work'} component={Work} />
<Route exact path={baseURL + '/projects'} component={Projects} />
</React.Fragment>
</Router>
解决方案
You can do it with render props:
<Route path={baseURL} render={props =>
<>
<Home />
<ProjectButton />
</>
} />
<Route {baseURL + '/projects'} render={props =>
<Projects />
} />
You can also pass multiple components for a route, see this
Or why not handle it in your component? Return null for certain paths (I personally would prefer this one)
render() {
const {pathname} = this.props.location;
if(pathname === "/projects") {
return null;
}
..
..
}
推荐阅读
- python - 初学者程序帮助 Python3- 字符串不可调用?
- c++ - 将双指针作为参数传递给期望引用 std::vector 的函数
- html - 如何有一个包含两列、三列或更多列的下拉菜单?
- android - 无法在 android 上运行 react-native 新项目
- c# - 激活触摸屏键盘的派生文本框
- python - 什么是命令行争论以及它们的用途是什么?
- r - 格式化字符列中的小数位。as.numeric 擦除列中的值
- excel - Excel中的文本到列数据拆分
- c - 我的 Clang 编译器采用哪种 C 标准(ANSI、c99...)?
- c# - 在 C# 中重构 if 语句块