Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs NextJS+;重演传奇+;固态继电器_Reactjs_Redux_Redux Saga_Next.js - Fatal编程技术网

Reactjs NextJS+;重演传奇+;固态继电器

Reactjs NextJS+;重演传奇+;固态继电器,reactjs,redux,redux-saga,next.js,Reactjs,Redux,Redux Saga,Next.js,我们有一个项目,包括nextjs、redux saga和typescript设置。 SSR对于我们的web应用程序非常重要,但我们在每个页面上都有很多相关的小部件 这就是为什么我们的页面采用模块化的结构,每个小部件(每页1-2个)加载它需要的数据。 这些小部件现在与SEO相关 我的问题是,API请求不是在服务器端发出的。现在它只返回服务器上每个小部件的defaultState,并且只在客户端加载它们 我已经搜索并找到了很多关于如何操作的说明,但是它们都依赖于这样一个事实,即nextjs等待“ge

我们有一个项目,包括nextjs、redux saga和typescript设置。 SSR对于我们的web应用程序非常重要,但我们在每个页面上都有很多相关的小部件

这就是为什么我们的页面采用模块化的结构,每个小部件(每页1-2个)加载它需要的数据。 这些小部件现在与SEO相关

我的问题是,API请求不是在服务器端发出的。现在它只返回服务器上每个小部件的defaultState,并且只在客户端加载它们

我已经搜索并找到了很多关于如何操作的说明,但是它们都依赖于这样一个事实,即nextjs等待“getInitialProps”方法,直到它从服务器返回结果。 由于该生命周期方法仅在“pages”文件夹中可用,因此这对我不适用

此外,如果我阻止“getInitialProps”组件,则该组件永远不会真正呈现

我们的页面结构如下:

- pages/Home
    - <HomeContainer ...> (fetches data for the main page)
        - <HomeComponent >
            - <Widget1Container ...> (fetches data)
            - <Widget2Container ...> (fetches data)
-页面/主页
-(获取主页的数据)
- 
-(获取数据)
-(获取数据)
我希望服务器端在将页面返回给用户之前,等待提供的所有请求。 由于页面上不同窗口小部件的复杂性,不可能创建“组合”端点,在该端点中我们可以在“pages/Home”文件夹中获取数据

我知道这并不理想,但我们如何确保服务器实际发出所有3个请求(homecontainer、widget1container、widget2container)并在返回之前等待响应? 我想让它像角宇宙一样。只需等待,直到没有开放的请求或承诺,然后只是呈现。 有什么想法吗

非常感谢您的任何帮助或想法

谢谢