Reactjs 反应器dom条件渲染
当路由路径为“/flower”时,我想添加更多代码 下面是我的代码 [App.js]Reactjs 反应器dom条件渲染,reactjs,react-router-dom,Reactjs,React Router Dom,当路由路径为“/flower”时,我想添加更多代码 下面是我的代码 [App.js] class App extends Component { render() { return ( <Router> <div className="App"> <Header /> <SideBar /> <section> <Route e
class App extends Component {
render() {
return (
<Router>
<div className="App">
<Header />
<SideBar />
<section>
<Route exact path="/" component={Home} />
<Route exact path="/flower" component={Flower} />
<Route exact path="/editorial" component={Editorial} />
</section>
<Footer />
</div>
</Router>
);
}
}
类应用程序扩展组件{
render(){
返回(
);
}
}
[SideBar.js]
import React, { Component } from 'react';
import './index.css';
import { NavLink } from 'react-router-dom';
class index extends Component {
render() {
return (
<aside>
<NavLink exact to="/" className="item"><i className="fas fa-home"></i>HOME</NavLink>
<NavLink to="/flower" className="item"><i className="fab fa-pagelines"></i>FLOWER</NavLink>
<NavLink to="/editorial" className="item"><i className="fas fa-newspaper"></i>EDIT</NavLink>
</aside>
);
}
}
import React,{Component}来自'React';
导入“./index.css”;
从'react router dom'导入{NavLink};
类索引扩展组件{
render(){
返回(
[用户输入到/花]
但是,我不知道如何检测当前路径是/花
有什么解决办法或指导方针吗
谢谢
但是,我不知道如何检测当前路径是/花
但您已经使用路线执行此操作了
我曾经使用过,但你可以像在其他路径中一样使用组件道具。我想我必须使用props.location.pathname进行操作,但这些道具不存在于侧栏中,而存在于Home、Flower、Edit组件中。那么我如何在侧栏中访问这些道具,或者以任何方式对其进行操作?为什么不在侧栏中使用路径
?就像
@Oblosys这不是一件重要的事情。也不能访问路径名。我不明白“不是一件重要的事情”是什么意思。你可以简单地访问侧边栏中的路线道具,但从你的问题来看,不清楚为什么需要。@Oblosys我只是想在Si中添加更多的子菜单、按钮等当用户只能访问/flower时,会禁用。但在我的代码中,侧边栏没有路径名道具。所以我不知道如何解决它。
<Route exact path="/" component={Home} />
<Route exact path="/flower" component={Flower} />
<Route exact path="/editorial" component={Editorial} />
<aside>
<NavLink exact to="/" className="item"><i className="fas fa-home"></i>HOME</NavLink>
<NavLink to="/flower" className="item"><i className="fab fa-pagelines"></i>FLOWER</NavLink>
<NavLink to="/editorial" className="item"><i className="fas fa-newspaper"></i>EDIT</NavLink>
<Route
path="/flower"
render={() => (
<div>
<p>more stuff</p>
</div>
)}
/>
</aside>