【发布时间】:2020-01-17 19:40:49
【问题描述】:
我是 React 新手,我用 Google 搜索过,但不知道如何做我想做的事。
我想根据我所在的页面设置不同的标题链接样式。我想知道如何(或是否有可能)获得另一个组件的道具。
到目前为止我的代码:
class Header extends React.Component {
getClass() {
console.log(this.props.currentPage) // Prints the correct value
let headerType = "h2";
if (this.props.currentPage === /*Prop of current Link*/){
headerType = "h1"
}
return ("header-links " + headerType);
}
render() {
return (
<Link to="/" page_name="Home" className={this.getClass()}>Home</Link>
<Link to="/About" page_name="About" className={this.getClass()}>About</Link>
<Link to="/Other" page_name="Other" className={this.getClass()}>Other</Link>
);
}
}
有什么方法可以获取调用getClass() 的Link 的page_name?
我知道我可以将页面名称传递给getClass():
<Link to="/" className={this.getClass("Home")}>Home</Link>
但我认为一定有更好的方法。
我确定我可以使用 vanilla JavaScript 获得它(也许这就是我应该做的)......但我想知道是否有办法使用 Link 的道具或类似的东西。
更新
我的Route的
<Route exact path='/' component={Home}/>
<Route exact path='/About' component={About}/>
<Route exact path='/Other' component={Other}/>
我还注意到我偶然在 About Link 中将 Resume 作为 to 属性,现在已修复。
【问题讨论】:
-
你能发布你的路线吗?
-
嗨,Zac,检查我的解决方案,如果有帮助,请告诉我。
标签: reactjs react-props react-component