2017-05-26 51 views
0

我想知道是否有任何方法可以將參數(或變量)傳遞給不同的組件(例如,如果我點擊一個按鈕,並且該按鈕的onClick函數可以將我重定向到另一個分量,並且該變量應該被立即我使用反應路由器3.0.0加載,並在不同的屏幕應該被示出),並希望能有等反應天然如何在參數之間傳遞參數

Actions.somepage({ls: variablename}); 

並且當類似的功能頁面加載後,應該有一個像this.props.ls 這樣的函數來獲取該值。

誰能告訴我該怎麼做?(我使用this.context.router.push('/');路由)

回答

-1

如果有問題的部件是可以訪問的變量/屬性組件的孩子可以把它傳遞給孩子像這樣

class myParentComponent extends React.Component { 
    render() { 
     const foo = 'bar'; 
     <ChildComponent foo={foo} /> 
    } 
} 

ChildComponent現在已經進入富安this.props.foo

class ChildComponent extends React.Component { 
    // renders 'bar' in the div 
    render() { 
     <div>{this.props.foo}</div> 
    } 
} 

如果不是這種情況,就需要這樣用於管理應用程序的狀態。有多種實現,包括flux,以及我個人最喜歡的redux。或者你可以實現一個更傳統的MVC架構,無論你習慣了什麼。要記住的重要一點是React本身只是一個視圖層,而不是管理應用程序的一種方式。

0

如果您在沒有狀態管理器的情況下使用react-router(並響應路由器v4),則很難共享狀態,因爲沒有可呈現所有路由的更高級別組件。你可以通過傳遞參數來解決這個問題this.context.router.push({ pathname: '/', params: yourObject})