将 @material-ui/core 与 NextJS/React 一起使用时的 FOUC

2023-12-07

我的简单 NextJS 页面如下所示(结果可以在https://www.schandillia.com/):

/* eslint-disable no-unused-vars */

import React, { PureComponent, Fragment } from 'react';
import Head from 'next/head';
import compose from 'recompose/compose';
import Layout from '../components/Layout';
import { withStyles } from '@material-ui/core/styles';
import Button from '@material-ui/core/Button';

const styles = {
  root: {
    textAlign: 'center',
    paddingTop: 200,
  },
  p: {
    textTransform: 'uppercase',
    color: 'red',
  },
};

class Index extends PureComponent {
  render() {
    const { classes } = this.props;
    const title = 'Project Proost';
    const description = 'This is the description for the homepage';
    return (
      <Fragment>
        <Head>
          <title>{ title }</title>
          <meta name="description" content={description} key="description" />
        </Head>
        <Layout>
          <p className={classes.p}>amit</p>
          <Button variant="contained" color="secondary">
            Secondary
          </Button>
        </Layout>
      </Fragment>
    );
  }
}

export default withStyles(styles)(Index);

我正在导入一堆组件@material-ui/core库来设计我的项目。我还有一个分配给的本地样式定义style持续的。

这里发生的事情似乎是我的样式没有在服务器上渲染,这就是为什么加载时提供的文件是无样式的。然后 CSS 由客户端代码渲染。因此,会出现一闪而过的无样式内容,持续时间接近一秒,足够引人注目。

有任何解决这个问题的方法吗?整个代码库可供参考https://github.com/amitschandilla/proost/tree/master/web.


当我尝试使用 Material-ui 制作我的应用程序的生产版本时,我遇到了类似的问题。我设法通过添加来解决JSS提供商像这样:

import JssProvider from "react-jss/lib/JssProvider";

class App extends Component {
  render() {
    <JssProvider>
      *the rest of your material-ui components*
    </JssProvider>
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 @material-ui/core 与 NextJS/React 一起使用时的 FOUC 的相关文章

  • 使用两个键执行自动完成 - Material UI with React

    当使用两个值之一搜索时 我试图自动完成输入 title and year 但是 它仅在我搜索时才有效title 当我搜索时year 它不显示任何选项 示例代码 export default function ComboBox return
  • 在打字稿中扩展material-ui组件

    尝试扩展 Material ui Button 组件以添加新的道具 目的是添加一个新的 prop fontSize其中有三个选项 small medium large
  • 如何在nextjs中安装tailwind元素?

    我正在 nextjs 中为滑块安装顺风元素 但它在 nextjs 中不起作用 有任何解决方案可以轻松安装它 我遵循这个方法 1 1 https tailwind elements com quick start 当我添加此导入 tw ele
  • Material UI Icons npm 安装问题:无法解析依赖树

    问题已解决 问题末尾的解决方案 我试图安装材质 UI 图标 https mui com components material icons 在我使用 npm 的 Netflix Clone React js 项目中 但出现以下错误 PS D
  • MUI 数据表上的 selectRow

    这是我第一次尝试MUI 数据表 https github com gregnb mui datatables在反应中 我想从复选框中选择的行中获取数据 const options download false print false vie
  • 如何使用 Typescript 从 mui 扩展调色板

    我正在尝试扩展 mui 提供的调色板 覆盖主色 次要颜色等效果很好 但如果我想在之后创建一组自定义颜色 我不知道如何使其工作 有很多没有打字稿的例子 但是当这个人进入游戏时 事情就变得更加棘手 假设我有这个 主题 tsx palette p
  • 如何让material-ui文本字段中的标签位于右侧?

    我在用着material ui and typescript对于我的 React 项目 rtl 布局 我不知道如何将文本字段的标签放在右侧 找到了更好的方法without外部库 export const theme createTheme
  • 如何在 Material UI 的 webpack 构建中包含 Roboto 字体?

    For a 进步网络应用程序基于材质用户界面 http www material ui com 反应 并构建Webpack 我如何正确包含 Roboto 字体 以便该应用程序不依赖于 Google 服务器并且字体也可以工作offline T
  • Next JS - 源代码中缺少元标签

    我安装了多个元标记 例如标题 描述 关键字等 但是 它没有在查看源代码中显示这些标签 因此 Facebook 共享卡无法正常工作 我已经安装了og标签 但在 Facebook 上似乎找不到它们Scraper或我的查看来源 然而 它填充在客户
  • MUI v5:系统属性样式与 sx prop 之间是否存在性能差异?

    The 从 v4 迁移到 v5 https mui com guides migration v4 box指南指出 The Box系统 props 在 v5 中有一个可选的替代 API 使用sx支柱 你可以阅读本节 https mui co
  • 有没有办法显示嵌套在 Grid 组件内的 Material-UI 抽屉?

    我正在使用 Material UI 创建一个 Web 应用程序 主页分为 3 个网格 每个网格有一个height of 500px 我想在中间网格内显示一个带有一些操作选项的抽屉 那可能吗 到目前为止 我只能在整个屏幕上显示它 这是我的主要
  • Material UI 组件中的媒体查询

    我在 React js 项目中使用 Material UI 组件 出于某种原因 我需要对某些组件进行自定义 以使其根据屏幕宽度进行响应 我已经添加了media query并将其作为组件中的样式属性传递 但不起作用 知道吗 我正在使用这样的代
  • ReactJS 水平对齐material-ui 元素

    我试图在文本输入旁边有一个单选按钮 这样用户基本上可以输入问题的 答案 并标记一个首选答案 然而 Material UI 将每个都放在自己的行上 这就是我目前所拥有的 div div
  • 如何将 hls.js 与 React 结合使用

    我需要一些帮助来尝试弄清楚如何在 React 中使用 hls js 让我解释一下我必须从 api 获取 m3u8 的情况我能够使用基本的 html 使其工作
  • MUI DatePicker + date-fns 本地化问题

    当我使用MUI时出现这个问题日期选择器 with 本地化提供商 and 适配器日期Fns with 匈牙利 local
  • 下一张图片不采用类属性

    我正在使用 Next js 和next image显示图像 但 CSS 在其中不起作用 该图像是 SVG 格式 我已将其放在公共文件夹中 我正在使用 Tailwind CSS 与此一起使用
  • 如何使用 Antd / Less 和 Sass / CSS 模块配置 Next.js

    我想用Next js https nextjs org 带有 Sass 和 CSS 模块但也想使用蚂蚁设计 https ant design 并希望对较小的建筑尺寸使用 Less 样式 我可以启用 CSS 模块或 Less 加载器 但不能同
  • 如何在 LeftNav 内创建粘性页脚?

    我正在尝试在其中创建一个粘性页脚
  • React:如何从 Material-UI TextField 组件获取值

    我有一个小型应用程序 其中包含 Form 组件 SubmitButton 组件和我的父组件 App js 当用户单击提交按钮时 我想获取表单组件上 3 个字段的值并将它们传递给我的 App js 组件 我不确定如何使用触发事件onClick
  • 如何使用 Material UI 在应用栏下方打开下拉菜单?

    我是 Material UI 的新手 刚刚开始摆弄他们的带有菜单示例的应用栏 https mui com material ui react app bar app bar with menu 切换菜单下拉菜单时 它会在应用栏本身上方打开

随机推荐