一个故事:
我有一个服务器渲染,但我的应用程序的某些部分无法在那里完成,因为它们使用文档(用于在画布上绘图的react艺术库)。我不能以相同的方式渲染所有内容,因为 react 会说从服务器和客户端接收到的代码是不一样的。
所以我的解决方案是在服务器上渲染我的应用程序的某些部分,然后在客户端上渲染这部分,然后在下一帧中,渲染所有无法在客户端上渲染的内容。
所以我在考虑使用setState
incomponentDidMount
并触发 DOM 更新,所以它可以包含无法在服务器上呈现的渲染客户端部分,但是 eslint 说在componentDidMount
. 从逻辑上讲,我不能说为什么在这种情况下不好。通常它并不好,因为它会触发 DOM 更新,但就我而言,这是我真正需要的。
在这种情况下你会提出什么建议?
编辑1:
修正错字,我的意思是componentDidMount
不是componentDidUpdate
。
编辑 2:
这是同样的问题,但他们使用更改状态componentDidMount
作为解决方法。