ssr没有接收数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssr没有接收数据相关的知识,希望对你有一定的参考价值。

ssr无网络连接怎么办,网络拒绝接入怎么解决可能很多人还不知道,现在让我们大家一起来看看吧!

t第一种方法:

t1。进入Windows设置后,点击打开“网络和互联网(WiFi、飞行模式、VPN)”

t

t2。切换到“代理”,关闭“使用安装程序脚本”;(这可能是由于使用了SSR)

t

t第二种方法,Internet选项

t

t2。进入Internet属性窗口。

t

t3。将上部选项卡切换到“连接”,然后单击“局域网设置”

t

t第三种方法:

t在局域网(LAN)设置窗口中,选中自动检测设置并取消选中“使用自动配置脚本”(原理同
参考技术A 也是装了ssr没了网络连接,我的解决方法是设置->代理->手动设置代理 关了

React SSR

一、为什么需要SSR呢?

单页面富应用的局限:

  • 之前我们开发的应用程序,如果直接请求可以看到上面几乎没有什么内容。

  • 但是为什么我们页面可以看到大量的内容呢?

  • 因为当我们请求下来静态资源之后会执行JS,JS会去请求数据,并且渲染我们想要看到的。

但是这个过程存在另外两个问题:

  • 问题一:首屏显示的速度较慢;
  • 问题二:不利于SEO的优化;

如何解决这个问题呢?

  • 采用服务端渲染;

二、认识SSR和同构?

SSR(Server Side Rendering,服务端渲染),指的是页面在服务器端已经生成了完成的HTML页面结构,不需要浏览器解析;

对应的是CSR(Client Side Rendering,客户端渲染),我们开发的SPA页面通常依赖的就是客户端渲染;

早期的服务端渲染包括PHP、JSP、ASP等方式,但是在目前前后端分离的开发模式下,前端开发人员不太可能再去学习PHP、JSP等技术来开发网页;

不过我们可以借助于Node来帮助我们执行JavaScript代码,提前完成页面的渲染;

什么是同构?
一套代码既可以在服务端运行又可以在客户端运行,这就是同构应用。

同构是一种SSR的形态,是现代SSR的一种表现形式。

  • 当用户发出请求时,先在服务器通过SSR渲染出首页的内容。
  • 但是对应的代码同样可以在客户端被执行。
  • 执行的目的包括事件绑定等以及其他页面切换时也可以在客户端被渲染;

三、使用React SSR

使用React SSR主要有两种方式:

  • 方式一:手动搭建一个SSR框架;
  • 方式二:使用已经成熟的SSR框架:Next.js

安装Next.js框架的脚手架:

npm install –g create-next-app

创建Next.js项目

create-next-app next-demo

package.json文件:

四、首页的展示

Next.js默认已经给我们配置好了路由映射关系:

  • 路径和组件的映射关系;
  • 这个映射关系就是在pages中配置相关的组件都会自动生成对应的路径;

默认page/index.js是页面的默认路径:

五、定义关于页面和页面跳转

定义About页面

从Home页面跳转到About页面

六、Layout组件

我们发现home和about是两个相互独立的组件:

  • 如果它们有一些公共的内容:比如头部、尾部是一样的,是否每个地方都需要写一遍呢?

有两种解决方案:

  • 方案一:自定义一个Layout的组件,将公共的内容放到Layout中;

  • 方案二:在_app中编写公共部分的内容;

七、Next.js支持各种样式

方式一:全局样式引入

方式二:module.css

方式三:默认集成styled-jsx

方式四:其他css in js方案,比如styled-components

  • 引入相关的依赖;
yarn add styled-components
yarn add -D babel-plugin-styled-components
  • 创建和编辑 .babelrc文件

八、路由的补充

路由的嵌套(子路由):
文件夹的嵌套,最后就可以形成子路由;

路由的传参:

  • Next.js中无法通过 /user/:id的方式传递参数;
  • 只能通过 /user?id=123的方式来传递参数;

传递参数有两种办法:

  • Link中的路径;

  • Router.push(pathname, query)

九、请求数据 - getInitialProps


以上是关于ssr没有接收数据的主要内容,如果未能解决你的问题,请参考以下文章

Python 没有接收到来自 Arduino Mega 2560 的第一行串行数据,而是接收到所有后续数据,为啥会发生这种情况?

Object接收数据为LinkedHashMap处理

为啥脚本没有从 mosquitto 接收数据?

DatagramSocket receive() 没有接收到任何数据

java前端参数没有接收的问题

C# Socket 如何完全发送/接收数据