react组件服务器渲染问题(一)
来源:互联网 发布:强化改版数据 编辑:程序博客网 时间:2024/05/16 12:02
客户端渲染过程:
1)一个html请求;
2)服务器返回html请求;
3)下载css和js文件;
4)运行js文件,并且发出请求要求得到渲染的数据;
5)服务器返回数据;
6)客户端接受数据,并将数据加载到v-dom,然后再渲染页面;
服务端渲染过程:
1)一个html请求;
2)服务器接收到请求,并内部发出请求数据;
3)将数据渲染到组件,并通过渲染函数变成html字符串,挂载到视图模板;
4)返回已经渲染好的页面;
5)加载js和css文件;
6)已经渲染好的组件已经存在页面中;
服务端渲染的优点:
1)渲染速度快;2)减少客户端向服务端请求的耗时;
渲染函数:
背景:在客户端渲染中,由于有dom的存在,可以有ReactDOM.render方法将v-dom渲染到dom中;但在服务器中,由于没有dom的存在,因此不能用过此种途径将v-dom渲染到页面,因此有使用渲染函数;
渲染函数:适用于服务端,主要是在服务端将可视数据渲染到已经存在的组件中,并将已经渲染的组件转成html字符串,以方便挂载到视图模板中;
renderTostring:用来将v-dom转变成html字符串并返回;
语法:ReactDOMServer.renderToString(V-dom);
特点:参数中不带表示dom位置的参数;
返回的html字符串类似于:
<div data-reactid="" data-react-checksum="">...</div>
data-reactid:用来区分其他dom节点的标志,且可用于寻找和更新dom节点用;
data-react-checksum:容许客户端复用服务器的dom结构,且只存在于服务端和存在于根节点中;
renderToStaticMarkup:与renderToString用法一样,知识返回的数据不包含data-reactid和data-react-checksum这两个属性;
区别:
renderToStaticMarkup:不打算将v-dom渲染到客户端的页面上,
用途:1)制作电子邮件;2)将html转成pdf;3)组件测试;
renderToString:将v-dom渲染到客户端的页面上,适用于大多数情况;
- react组件服务器渲染问题(一)
- 关于react组件渲染两次的问题
- React渲染组件
- React服务器渲染
- React服务器渲染
- 从零开始 React 服务器渲染
- 【转】从零开始React服务器渲染
- react 组件库封装(一)
- react(一) 基础组件封装
- React-组件渲染和更新的实现
- react native 动态添加/渲染组件
- React纯组件渲染性能反模式
- React 组件不渲染的坑...
- react-native组件避免重复渲染
- React Native组件(一)组件的生命周期
- React Native组件篇(一) — Text组件
- 一步一步架构 react 服务器渲染同构框架
- React Native组件讲解一
- 关于PHP中require()和inculd()的区别
- win7 锁定和解锁图标到开始菜单和任务栏
- 播放音频的点击播放和暂停
- Java byte类型转换
- ffmpeg播放rtsp视频流花屏解决办法
- react组件服务器渲染问题(一)
- UIWebView (NSURLProtocol)拦截js、css
- JVM内存溢出的几种情形
- Android:java和javascript相互调用
- 格式工厂转换视频怎样设置才能使视频大小缩小
- 尝试新思路——网络事件类CNetworkEvent
- 关于validate验证框架的学习
- 周内最后一天
- 数组去重的三种方法