前段时间接到这么一个需求,大体实现为同页面进行跳转:即相同的页面结构,但是所请求的数据不同,所以渲染出来的具体页面也不同,在RN端完成之后,进行RN转H5,测试时发现触发跳转事件之后,虽然url已经改变了,但是页面数据也没有变,抓包查看也没有发现新的请求,于是请教组里的大佬后,先通过对reder进行打断点的方式排查问题,发现页面并没有进行重新渲染,于是进行强制页面刷新,伪代码如下:
componentWillReceiveProps(nextProps) {
if (nextProps.productId !== this.props.productId) {
this.setState({
productId: nextProps.productId,
}, () => {
this.getInit();
});
}
}
其中的productId就是进行页面请求的关键字段,当触发跳转事件之后,修改原state中的字段,强制进行重新渲染,问题解决;