2017-07-14 77 views
0

如何在發回事件後保留道具組件。 描述:我有一個容器它有多個組件(在同一視圖中)在一個組件中有兩個字段和一個按鈕「繼續」。在這些字段中輸入一些值後,單擊繼續按鈕將其轉到此組件中的另一個組件,我們有兩個字段和兩個按鈕,一個回來並繼續,當我點擊後退按鈕時它會轉到上一個組件,但不保留進入的道具在那些。你能幫助我如何保留數據。reactjs保留道具道具

+0

請向我們展示一些您到目前爲止嘗試過的代碼。 –

+0

這是一個非常難以閱讀的「問題」。 – terpinmd

回答

0

最簡單的解決方案是讓父組件將所有數據保存在其狀態中。父容器組件將數據傳遞給作爲道具所擁有的子組件,同時它將回調傳遞給孩子以便更新數據。鑑於你的父母總是呈現,因此永遠不會卸載數據將永遠存在。

事情是這樣的:

class Parent extends React.Component { 
    state = { name: 'John' } 

    render() { 
    return <div> 
     <Child name={this.state.name} onNameChange={e => this.setState({name: e.target.value})} /> 
    </div> 
    } 
} 

class Child extends React.Component { 
    render() { 
    return <div> 
     <p>The name "{this.props.name}" is saved in the Parent</p> 
     <input type="text" value={this.props.name} onChange={this.props.onNameChange} /> 
    </div> 
    } 
} 

一個更復雜的解決方案是使用像通量或終極版,但我相信這將是一個有點吃不消現在。