gpt4 book ai didi

reactjs - React 入门套件和 Material UI : userAgent should be supplied in the muiTheme context for server-side rendering

转载 作者:行者123 更新时间:2023-12-03 13:25:29 25 4
gpt4 key购买 nike

React Starter Kit ,我添加Material UI如下:

npm install material-ui --save

并将以下内容导入到组件中:

import RaisedButton from 'material-ui/lib/raised-button';

和:

<RaisedButton label="Default" />

我收到以下错误:

Warning: Material-UI: userAgent should be supplied in the muiTheme context for server-side rendering.

根据 Material UI 的 documentation ,它说我需要解决三件事:

  1. autoprefixer 和用户代理
  2. process.env.NODE_ENV

我应该放入哪些代码以及具体位置,特别是使用 React Starter Kit?

附注this solution对我不起作用:-/

最佳答案

When using Material-UI with server rendering, we must use the same environment for the server and the client. This has two technical implications.

如您在 MaterialUI documentation 上看到的那样页面

您需要为服务器和浏览器上下文提供相同的用户代理,就像您在文档中看到的那样,但是,我强烈建议您提供“所有”用户代理,因为您将提供许多不必要的代码给您的最终用户。

相反,您可以轻松地遵循 MaterialUI 文档并传递 http 请求 header 中包含的用户代理值。

使用 express 或 koa 服务器

global.navigator = global.navigator || {};
global.navigator.userAgent = req.headers['user-agent'] || 'all';

我刚刚检查了it has been added to the ReactStarterKit (我自己没有测试过)在 src/server.js

global.navigator = global.navigator || {};
global.navigator.userAgent = global.navigator.userAgent || 'all';

关于reactjs - React 入门套件和 Material UI : userAgent should be supplied in the muiTheme context for server-side rendering,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35481084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com