taro小程序回退页面并携带参数

首先从页面A 跳转至页面B使用 Taro.navigateTo();

Taro.navigateTo({
            url:"/pages/HistoryTestList/index"
        })

在B页面回退到A页面时设置数据

	let pages = Taro.getCurrentPages(); // 获取当前的页面栈 
    let prevPage = pages[pages.length - 2]; //  获取上一页面
    prevPage.setData({ //设置上一个页面的值
        examId: 1001,
        examName:'期末'
    });
    Taro.navigateBack({
        delta: 1//表示回到上一页面
    })

在A页面进行接收

componentDidShow() { // 对应onShow,只有在onShow中才会监听到当前页面的改变
        let pages = Taro.getCurrentPages();
        let currPage = pages[pages.length - 1]; // 获取当前页面
        this.setState({ examId: currPage.data.examId, examName: currPage.data.examName })
    }

即可完成数据的携带,使用回退可以减少页面栈中的页面数量,避免退出时一个页面出现多次

你可能感兴趣的:(javascript,reactjs)