刷新页面后如何保持props.location.state?(不使用本地storagre)

时间:2019-01-28 09:30:10

标签: reactjs state router react-props pathname

当我刷新页面props.location.state === null时,我使用了此Link。 在不使用本地存储的情况下刷新或计费新页面时将数据保留在props.location.state中的任何解决方案?

<Link to={{ pathname: `/details/${imdbID}`, state: this.props }}>

2 个答案:

答案 0 :(得分:0)

您必须将要保存的状态存储到本地存储中。

let savedState =  JSON.stringify(props.location.state)
localStorage.setItem('myState', savedState);

要从本地存储获取保存状态

let retrievedState = JSON.parse(localStorage.getItem('myState'));

答案 1 :(得分:0)

无需将所需的数据存储在本地存储中,您可以将其转储到任何地方,无论是否刷新数据,都将始终存在于路由中,我们需要使用prop 例如:

<Route path="/details" render={(props)=> (
        
          <Details {...props}   propWhatever={{data}} />
          )} />