关于render渲染次数

2020-01-02  本文已影响0人  皮卡皮卡皮卡丘11

关于render渲染次数

页面加载render执行几了次(五)

  1. 单纯的前端渲染

    render在componentWillMount后会执行一次,会在props及state改变时执行。

  2. 服务端渲染(例如node)我觉得render有三种情况

    服务端要使用renderToString或renderToStaticMarkup将DOM转化成浏览器可识别的模板进行渲染

    import { renderToString, renderToStaticMarkup} from 'react-dom/server'
    

    可以理解为这就是服务端的render,可以看到其就是react-dom下server里的东西。

    renderToString(
    <Provider store={store}>
         <RouterContext {...renderProps}/>
    </Provider>
    )
    

    而这两种render有什么区别呢

    renderToStaticMarkup 渲染的就是单纯的HTML

    renderToString 渲染的HTML会有data-reactid等属性

    这(data-reactid等属性)是个独特的属性,在reactJS加载完成之后,会识别是否进行前端渲染吗?

    答案是不会,会把服务端渲染的render当做前端渲染的render继而执行componentDidMount。

    而renderToStaticMarkup就会执行前端的render覆盖,服务端的渲染,在react加载后,造成页面再次刷新。

render渲染场景

参考链接

页面加载render执行几了次

组件的生命周期

重渲染优化

上一篇 下一篇

猜你喜欢

热点阅读