【发布时间】:2020-06-22 07:42:27
【问题描述】:
所以我在 YouTube 上看了很多关于 React 初学者的教程, 但是,我在此 URL (localhost/) 并单击设置按钮将 URL 更改为 (localhost/settings) 并且不会在浏览器中自动执行,如果我使用 URL (localhost/settings) 刷新浏览器,则从 Settings.js 更新和呈现的页面
如果您介意帮助我,这是我的代码和 JS: header.js
class Header extends Component {
state = {
MainMenuAppeared:false
}
MainMenuShow = () =>{
this.setState({
MainMenuAppeared: true
})
}
MainMenuHide = () =>{
this.setState({
MainMenuAppeared: false
})
}
render() {
return (
<div className="Header">
<header>
{this.state.MainMenuAppeared ? (
<div id="logo" onClick={this.MainMenuHide}><WebLogo /></div>
) : (
<div id="logo" onClick={this.MainMenuShow}><WebLogo /></div>
)}
{this.state.MainMenuAppeared ?(
<Router>
<div id="MainMenu">
<Link to="/"><div className="MenuLists">Home</div></Link>
<Link to="/settings"><div className="MenuLists">Settings</div></Link>
</div></Router>) : (<div></div>)}
</header>
</div>
);
}
}
Main.js(以前的 App.js)
function Main() {
return (
<div className="Main">
<Header />
<br></br>
<br></br>
<br></br>
<Router>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/settings" component={Settings}/>
</Switch>
</Router>
</div>
);
}
Settings.js
function Settings() {
return (
<div className="Settings">
Settings
</div>
);
}
【问题讨论】:
-
不要将
Link包裹在Router中,您的应用应该只有一个Router
标签: javascript reactjs react-router react-router-dom