版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mx18519142864/article/details/82999956
页面加载render执行几了次
探讨这个问题,我觉得的正确答案是render在什么时候执行,具体执行几次要看你加载此页面都做了什么。
单纯的前端渲染就很好说了
render在componentWillMount后会执行一次,会在props及state改变时执行。
服务端渲染(例如node)我觉得render有三种情况
服务端要使用renderToString或renderToStaticMarkup将DOM转化成浏览器可识别的模板进行渲染
可以理解为这就是服务端的render,可以看到其就是react-dom下server里的东西。
而这两种render有什么区别呢
renderToStaticMarkup 渲染的就是单纯的HTML
renderToString 渲染的HTML会有data-reactid等属性
这是个独特的属性,在reactJS加载完成之后,会识别是否进行前端渲染。
答案是不会,会把服务端渲染的render当做前端渲染的render继而执行componentDidMount。
而renderToStaticMarkup就会执行前端的render覆盖,服务端的渲染,在react加载后,造成页面再次刷新。