當然,這不是最佳的,但我肯定會調查你爲什麼不能使用路由器作出反應。嘗試開放另一個問題並解決該問題。
import HomeComponent from 'home-component';
import AboutComponent from 'about-component';
const ROUTES = {
home: HomeComponent,
about: AboutComponent
};
class MainComponent extends Component {
state = { component: HomeComponent }
changeRoute = (routeName) => {
this.setState({ component: ROUTES[routeName] || HomeComponent });
}
render() {
const { component } = this.state;
return (
<div>
<button onClick={() => changeRoute('home')}>Home</button>
<button onClick={() => changeRoute('about')}>About</button>
{ component }
</div>
);
}
}
這不是一個好方法,顯然複雜度會迅速增加,但它可能適用於小型應用程序。
你只是問如何有條件渲染的東西? – azium
你應該提供一些示例代碼。 – Purgatory