2017-07-14 63 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> 
    } 
} 

一个更复杂的解决方案是使用像通量或终极版,但我相信这将是一个有点吃不消现在。