2017-08-15 88 views
-1

我一直在努力工作,我的辦法解決這個問題很長一段時間了,看來我無法找到一個解決方案。有沒有辦法使用React State來更改視圖?

的一對夫婦的情況下,我的工作不能使用做出反應,路由器on Rails的項目,但我聽說有一種方法可以與國家法的組件之間進行切換。這是真的嗎?

在此的Ruby on Rails應用程序,我們有一個父組件工作,裏面了很多常量成分。事情是,我有三個用戶需要點擊的按鈕,當它出現時,內容塊必須改變。

任何想法?

+0

你只是問如何有條件渲染的東西? – azium

+0

你應該提供一些示例代碼。 – Purgatory

回答

1

當然,這不是最佳的,但我肯定會調查你爲什麼不能使用路由器作出反應。嘗試開放另一個問題並解決該問題。

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> 
    ); 
    } 
} 

這不是一個好方法,顯然複雜度會迅速增加,但它可能適用於小型應用程序。

相關問題