Gatsby: Suspense 和 React.lazy 不起作用

创建于 2019-02-21  ·  1评论  ·  资料来源: gatsbyjs/gatsby

capture d ecran 2019-02-21 a 10 57 39

描述

只有当我使用<Suspense>时,我才会在yarn build上出现错误
yarn develop ,我没有错误。

请注意,我没有使用React.lazy()Loadable components

import React, { Suspense } from 'react';

const Dashboard = props => {
  return (
      <Suspense fallback={<>Hey</>}>
        Hello
      </Suspense>
  );
};

export default Dashboard;

重现步骤

yarn build

预期结果

构建应该成功。

实际结果

构建失败。

环境

系统:
操作系统:macOS 10.14.2
CPU:(8) x64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
外壳:3.2.57 - /bin/bash
二进制文件:
节点:11.9.0 - /usr/local/bin/node
纱线:1.13.0 - /usr/local/bin/yarn
npm: 6.5.0 - /usr/local/bin/npm
语言:
Python:2.7.10 - /usr/bin/python
浏览器:
铬:72.0.3626.109
火狐:65.0.1
Safari:12.0.2
npm 软件包:
盖茨比:^2.0.0 => 2.0.118
gatsby-cli: ^2.4.6 => 2.4.9
盖茨比图像:^2.0.26 => 2.0.29
盖茨比插件情感:^4.0.1 => 4.0.3
盖茨比插件反应头盔:^3.0.0 => 3.0.6
gatsby-plugin-sharp: ^2.0.17 => 2.0.20
gatsby 源文件系统:^2.0.12 => 2.0.20
盖茨比变压器夏普:^2.1.10 => 2.1.13
npmGlobalPackages:
盖茨比-cli:2.4.8

最有用的评论

非常感谢您打开这个问题! 如前所述,这与盖茨比略有不同。

Gatsby 正在使用 Suspense 和 React.Lazy 尚不支持的 SSR。 您可以移动到完整的客户端站点以使用这些功能,但遗憾的是无法生成静态页面。 React 建议使用Loadable 组件包,直到解决 SSR

来自 React 团队的原始推荐:
https://reactjs.org/docs/code-splitting.html#reactlazy

React.lazy 和 Suspense 尚不可用于服务器端渲染。 如果您想在服务器呈现的应用程序中进行代码拆分,我们推荐Loadable Components 。 它有一个很好的指南,用于使用服务器端渲染进行包拆分

如果我们可以提供进一步帮助 - 请不要犹豫与此问题联系或发表评论,我们很乐意再看一看。

感谢您使用 Gatsby 💪

>所有评论

非常感谢您打开这个问题! 如前所述,这与盖茨比略有不同。

Gatsby 正在使用 Suspense 和 React.Lazy 尚不支持的 SSR。 您可以移动到完整的客户端站点以使用这些功能,但遗憾的是无法生成静态页面。 React 建议使用Loadable 组件包,直到解决 SSR

来自 React 团队的原始推荐:
https://reactjs.org/docs/code-splitting.html#reactlazy

React.lazy 和 Suspense 尚不可用于服务器端渲染。 如果您想在服务器呈现的应用程序中进行代码拆分,我们推荐Loadable Components 。 它有一个很好的指南,用于使用服务器端渲染进行包拆分

如果我们可以提供进一步帮助 - 请不要犹豫与此问题联系或发表评论,我们很乐意再看一看。

感谢您使用 Gatsby 💪

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

ferMartz picture ferMartz  ·  3评论

dustinhorton picture dustinhorton  ·  3评论

signalwerk picture signalwerk  ·  3评论

benstr picture benstr  ·  3评论

theduke picture theduke  ·  3评论