React JS:应用 Material-UI CssBaseline

2024-01-02

我想给我的新React应用程序具有一致的外观和感觉Material-UI。另外,我希望样式等易于维护。所以默认主题似乎是一个很好的开始。这cssBaseline由...提供Material-UI似乎勾选了所有选项,所以我想尝试一下。令人惊讶的是,问题是它不起作用。 CSS 主题不是我真正喜欢的。我在这里被误导了还是什么?以下代码是我在 App.js 组件中实现的,但没有成功(取自here https://material-ui.com/style/css-baseline/)。我希望这只是一个实施细节。

import React from "react";
import Footer from "./Footer";
import CssBaseline from "@material-ui/core/CssBaseline";
import AddTodo from "../containers/AddTodo";
import VisibleTodoList from "../containers/VisibleTodoList";

const App = () => (
  <React.Fragment>
    <CssBaseline />
    <div>
      <AddTodo />
      <VisibleTodoList />
      <Footer />
    </div>
  </React.Fragment>
);

export default App;

EDIT: 这是index.js位于项目的根目录:

    import React from "react";
    import { render } from "react-dom";
    import { createStore, applyMiddleware } from "redux";
    import { Provider } from "react-redux";
    import App from "./components/App";
    import rootReducer from "./reducers";

    const store = createStore(rootReducer);

   render(
      <Provider store={store}>
        <MuiThemeProvider theme={theme}>
          <React.Fragment>
            <CssBaseline />
            <App />
          </React.Fragment>
        </MuiThemeProvider>
      </Provider>,
      document.getElementById("root")
    );

EDIT:我的新 App.js

import React from "react";
import Footer from "./Footer";
import AddTodo from "../containers/AddTodo";
import AppBar from "../components/AppBar";
import VisibleTodoList from "../containers/VisibleTodoList";

const App = () => (
  <div>
    <AppBar />
    <AddTodo />
    <VisibleTodoList />
    <Footer />
  </div>
);
export default App;

CSSBaseline 组件应该在 Material UI ThemeProvider 组件内使用。 在您的示例中,您没有包含 ThemeProvider,因此没有 Material UI 主题。

有关如何设置 ThemeProvider 的信息,请参阅官方文档:https://material-ui.com/customization/themes/#muithemeprovider https://material-ui.com/customization/themes/#muithemeprovider

基于此示例,CSSBaseline 的最小工作示例如下:

import React from 'react';
import { render } from 'react-dom';
import { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles';
import CssBaseline from "@material-ui/core/CssBaseline";
import Root from './Root';

const theme = createMuiTheme();

function App() {
  return (
    <MuiThemeProvider theme={theme}>
      <React.Fragment>
        <CssBaseline />
        <Root />
      </React.Fragment>
    </MuiThemeProvider>
  );
}

render(<App />, document.querySelector('#app'));

要加载 Roboto 字体,请将其添加到您的 html 模板中

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500">

如需更完整的示例,请查看此官方示例的源代码:https://github.com/mui-org/material-ui/tree/master/examples/create-react-app/src https://github.com/mui-org/material-ui/tree/master/examples/create-react-app/src

  • public/index.html:加载roboto字体
  • src/withRoot.js :ThemeProvider 和 CSSBaseline 设置
  • src/pages/index.js :应用了 MUI 主题的示例组件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React JS:应用 Material-UI CssBaseline 的相关文章

随机推荐

  • WPF 如何决定对缺失字符使用哪种字体?

    我知道WPF的默认字体是Segoei UI 例如 该字体没有中文字符的字形 因此 当用户输入如下所示的文本时 它如何检测应该使用哪种字体来正确呈现它们 它是否检查每个字符的范围并找到包含这些字符的字体 或者它是否在内部使用某种包含大多数 U
  • 使用 Linq 和 C# 创建列表中所有可能的项目组合[重复]

    这个问题在这里已经有答案了 我有一个类别表 Catid Desciption 1 Color 2 Size 3 Material 以及类别项目表 Catid Name 1 Red 1 Blue 1 Green 2 Small 2 Med 2
  • r pdftools:将多个页面合并为一个页面

    The pdf combine函数来自pdftool questions tagged pdftool r questions tagged r包可以用来组合不同的pdf文档 pdftools pdf combine input list
  • python 列表的按位或减少

    我有两个 0 和 1 列表 两个列表的长度相同 以下只是一个示例 我正在寻找适用于任何大小且在任何索引处包含零和一的列表的通用解决方案 l1 1 1 0 1 1 1 1 l2 0 0 0 1 0 0 0 目标是使用第一个列表l1 as ma
  • Rails 资产管道和 javascript 文件 - 维护换行符以帮助调试

    我最近从Jammit http documentcloud github com jammit to the Rails 资产管道 http guides rubyonrails org asset pipeline html 除了一些初期
  • 动态设置的 jQuery UI Selectmenu 值不会更改可见的选定值

    我正在使用 jQuery UI Selectmenu 并且在设置呈现的选定值时遇到问题 它似乎更改了底层选择中的选定选项 但选择菜单不显示更改 我正在调用 selectmenu refresh true 但没有任何反应 这是一个例子 htt
  • 如何通过API向mandrill模板中的所有链接添加参数?

    在发送之前 我需要向 Mandrill 模板中的所有链接添加一些参数 例如 在模板中有像这样的锚点 a href http google com param1 PARAM1 param2 P a
  • 强制 java web start 使用像 Fiddler 这样的代理而不接触代码

    对于自动软件项目 我需要来自 Java Web Start 应用程序的一些请求和响应 所以我安装了 Fiddler Web Debugger 然后尝试使用这个 fiddler 代理来嗅探所有请求 问题出在 Java Web Start 应用
  • 在单元测试中模拟 Passport.js(本地策略)

    我正在使用 Passport js 的本地策略来对我的 API 的用户进行身份验证 我正在为此 API 编写测试 并且我需要一种在测试中模拟 Passport js 的方法来模拟经过身份验证 未经身份验证的用户点击 API 做到这一点最有效
  • 动态调用程序集的复杂 API 问题

    我面临一个有趣的挑战 我想知道这里是否有人可以给我一些指导 我正在编写一个在网络上运行并使用 SQL Server 保存和提取数据的 Net Windows 窗体应用程序 我想提供一个迷你 插件 API 开发人员可以在其中构建自己的程序集并
  • 变量魔法并从文件中读取

    假设 我得到以下文件 输入 txt name Peter age 26 family status married 提到的行可以按随机顺序存储 即 family status married name Peter age 26 在我的程序中
  • 避免 Windows 防火墙弹出窗口

    我的组织生产了一套利用网络的 Windows 应用程序 因此当用户第一次运行我们的软件时 Windows 防火墙 如果正在运行 会弹出一个弹出窗口 通知用户我们的应用程序 正在尝试使用网络 提示用户允许或拒绝访问 许多其他应用程序都会出现这
  • 如何在 mysql select 语句上连接 4 个表?

    我在 MySQL 中有 4 个表需要连接 例子 select db gt query SELECT FROM ads WHERE ad pic 1 AND ad status 1 ORDER BY ad id DESC LIMIT 0 4
  • 在后台线程 python/pygtk 中运行计算

    有没有一种方法可以在后台运行 python 线程 而无需在耗时的指令期间锁定 python 的其余部分 我正在尝试在 python pygtk 应用程序的后台线程中进行耗时的计算 我了解线程是如何工作的 问题是 每次我在任何线程中运行一个昂
  • 无法下载包“runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.1.1”

    我正在 Visual Studio 2017 中使用移动应用程序 但是当我第一次创建此项目并尝试构建它时 出现以下错误 Failed to download package runtime win10 x86 Microsoft Net U
  • 64 位操作系统上 32 位 JVM 的最大 Java 堆大小

    问题不在于 32 位操作系统上的最大堆大小 因为 32 位操作系统的最大可寻址内存大小为 4GB 并且 JVM 的最大堆大小取决于可以保留多少连续可用内存 我更感兴趣的是了解在 64 位操作系统中运行的 32 位 JVM 的最大堆大小 理论
  • 在C++中使用json-spirit读取json字符串

    如何在C 中使用json spirit读取json字符串 我阅读了演示代码 我发现 const Address addrs 5 42 East Street Newtown Essex England 1 West Street Hull
  • 只能在 Visual Studio 2008 中输入字母

    在我的 VS2008 中 突然间 我只能使用字母 不能使用 Enter 空格 删除 退格或任何其他键 有什么建议如何解决这个问题吗 键盘在其他应用程序中运行良好 谢谢 我每天都会遇到这个问题好几次 确保工具 gt 选项 gt 环境下的语言设
  • 鉴于“marginLeft”实际上并不存在,应该如何在 Flex 4 中制作项目符号列表?

    先生们 想象一下想要显示项目符号列表 like this one 在 Flex 4 中使用 Adob e 的文本布局框架 TLF 如何在 MXML 中定义这样一个项目符号列表 据我了解 当前版本的 TLS 尚未实现对项目符号列表的支持 没关
  • React JS:应用 Material-UI CssBaseline

    我想给我的新React应用程序具有一致的外观和感觉Material UI 另外 我希望样式等易于维护 所以默认主题似乎是一个很好的开始 这cssBaseline由 提供Material UI似乎勾选了所有选项 所以我想尝试一下 令人惊讶的是