1. 程式人生 > 實用技巧 >react中介面跳轉 A介面跳B介面,返回A介面,A介面狀態保持不變 localStorage方法

react中介面跳轉 A介面跳B介面,返回A介面,A介面狀態保持不變 localStorage方法

A介面

componentDidMount() {
        backTop();
        let localTemp = JSON.parse(localStorage.getItem('hotTemp'));

        if (localTemp === undefined || localTemp === null) { //這邊是判斷是不是從B回來的,如果不是,就初始化請求
            let params = {
                page: 1,
                size: 20
            }
            
this.getHotEvent(params); } else { //如果是從B回來的,那麼就把條件啊,資料啊,直接給state進行顯示就可以了 this.setState({ pageNum: localTemp.pageNum, hotEvent:localTemp.hotEvent, success:localTemp.success, total:localTemp.total })
if (localTemp.sflag) { //我這邊是做了個是不是填寫了篩選條件的判斷 如果填寫了篩選條件回到A介面的時候,這些篩選條件要顯示出來 this.setState({ defaultInput: localTemp.defaultInput, startTime: localTemp.startTime, endTime: localTemp.endTime, })
//this.getIeahotsSearch(localTemp.searchParam); } else { //這邊是沒有任何篩選條件,只要資料顯示就可以了 //this.getHotEvent(localTemp.params); } } } <Link className="recall left transition3" to={{ pathname: "/B", state: {eventArray: item, localState: this.state}, //這邊是我想要保留的資料,通過state傳給B }} >{item.title}</Link>

B介面

componentDidMount() {
     
       /*儲存A介面列表的引數*/
        if(this.props.location.state.localState!==undefined&&this.props.location.state.localState!==null){
            localStorage.setItem("hotTemp", JSON.stringify(this.props.location.state.localState));
            //console.log(localStorage.getItem('hotTemp'));
        }

       
    }