所以我有一个多重同构的React 16应用程序,我正在寻找一种方法让客户端保湿和安装完全忽略某些DIV。
原因是在服务器发送初始HTML之后但在React bootstraps自己在客户端之前我做了我想要保留的DOM更改。
具体来说,有一个来回的流程,包括从无限滚动列表视图转到详细视图并返回到列表视图,并使"返回" snappy我在客户端的sessionStorage中存储了一大块页面HTML。然后一个内联的脚本块只是说像
if (window.performance.navigation.type == 2) {
document.getElementById('results').innerHTML = sessionStorage.get('cacheHtml');`
}
为什么不在componentDidMount
中执行此操作?在React运行之前,它的速度明显更快。 HTML恢复如此之快,它被认为基本上是即时的。如果我等待React生命周期事件,它会有点懒散。
为什么不使用componentShouldUpdate
?这只会告诉React不要重新渲染更改,它不会阻止初始对帐。
就目前而言,它确实有效,它只是在发展中给出了关于意外DIV的警告。
任何想法都赞赏。