用react 开发时,我们一般会写一个layout层,同事在layout层做了动画,大致代码如下
<TransitionGroup className={styles['route-ani-wrap']} childFactory=
{this._getChild}>
<CSSTransition key={location.pathname} timeout={300}>
{children}
</CSSTransition>
</TransitionGroup>
效果挺好,不过这里要说的是其产生的齐天大坑。
我们项目是采用umi创建的,根据官方文档实现的ssr 。上面动态效果导致了服务端获取数据方法getInitialProps执行两次的现象。我打了debugger, 发现渲染了两个对象,渲染界面如图:

故猜测实现动画的插件渲染了两个实例,导致getInitialProps执行了两次。

本文探讨了使用React进行SSR时遇到的一个问题:在Layout层加入动画效果导致getInitialProps方法执行两次。通过分析,发现这可能是由于动画插件渲染了两个实例所引起的。
944

被折叠的 条评论
为什么被折叠?



