【发布时间】:2019-10-29 18:12:31
【问题描述】:
点击“Los geht's”后,我想使用 React-Router 将 <Frontpage /> 组件更改为 <Question /> 组件。
请忽略 handleClick 方法,这是我第一次尝试没有 react-router。
import React from 'react';
import './App.css';
import Frontpage from './Frontpage'
import Question from './components/Question'
import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';
class App extends React.Component {
constructor() {
super()
this.state = {
showComponent: false,
}
this.handeClick = this.handleClick.bind(this)
}
handleClick = () => {
this.setState({
showComponent: true })
// console.log("The button was clicked!")
// document.getElementById('page')
// document.getElementsByClassName('App-Header')
}
render() {
return (
<Router>
<div className="App">
<Frontpage />
<Link to={'/Question'} className="nav-link"> Los geht's </Link>
<Switch>
<Route path='/Question' component={Question} />
</Switch>
</div>
</Router>
);
}
}
export default App;
我得到的只是“欢迎页面”下的一个新组件,但它需要在新页面中呈现整个页面并显示“第二页”。
【问题讨论】:
-
以什么方式改变什么组件?目前尚不清楚您要做什么(至少对我而言)。
-
抱歉问题不清楚。点击“Los geht's”后,我想用
组件更改 组件 -
在这种情况下,@Jeggettx 给出了遵循最佳实践的最简洁的答案。
标签: javascript reactjs react-router-v4 react-router-dom