Reactjs componentWillReceiveProps在UC浏览器中第一次渲染时被调用

Reactjs componentWillReceiveProps在UC浏览器中第一次渲染时被调用,reactjs,react-router,uc-browser,Reactjs,React Router,Uc Browser,我使用React、React router和Redux实现了一个单页应用程序。它使用通用渲染 有一个React组件ArticleListComponent,它显示新闻文章的列表。 单击移动浏览器的“后退”按钮后,React lifecycle功能组件将接收props比较来自当前props和下一个props的路由(如下面的片段所示),并相应地获取数据 componentWillReceiveProps (nextProps) { var prevUrlParam = this.props.

我使用React、React router和Redux实现了一个单页应用程序。它使用通用渲染
有一个React组件ArticleListComponent,它显示新闻文章的列表。 单击移动浏览器的“后退”按钮后,React lifecycle功能组件将接收props比较来自当前props和下一个props的路由(如下面的片段所示),并相应地获取数据

componentWillReceiveProps (nextProps) {
    var prevUrlParam = this.props.match.params;
    var nextUrlParam = nextProps.match.params;
    if(prevUrlParam === nextUrlParam) { 
        return;
    }
    // else data fetch for previous page
}
根据文档(),只有当安装的组件收到新的道具时才会调用组件WillReceiveProps。这适用于除UC浏览器之外的所有移动浏览器
在UC浏览器上,在第一次加载服务器呈现的页面时,在安装组件后,将调用componentWillReceiveProps,并且发现(prevUrlParam===nextUrlParam)为false,从而获取数据

React lifecycle功能在不同浏览器上的工作方式是否不同,或者这是UC浏览器的一个缺陷?

您是否在其他浏览器上测试了您的应用程序,并且它在其他浏览器上工作,而不是在UC浏览器上?是的,此特定场景仅在UC浏览器和iOS Chrome中出现,而不是在其他浏览器中出现。