首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react资料-ui v5主题不适用于故事书

react资料-ui v5主题不适用于故事书
EN

Stack Overflow用户
提问于 2021-12-20 13:29:39
回答 2查看 1.4K关注 0票数 0

我花了几天时间试图自定义主颜色,并在调色板上再添加两种颜色。我现在能够正确地声明新的colors...but,看到按钮上反射的新颜色不起作用。即使我在Themeprovider下包装时,该按钮也会使用默认属性。我在用故事书。

代码语言:javascript
复制
import React from "react";
import { Meta } from "@storybook/react/types-6-0";
import { Button } from "@mui/material";
import { createTheme, ThemeProvider, styled } from '@mui/material/styles';


const theme = createTheme({
  palette: {
    primary: {
      contrastText: "#ff0000",
      light: "#ff0000",
      main: "#ff0000",
      dark: "#ff0000"
    },
    tertiary: {
      main: "#ff0000"
    },
    failure: {
      main: "#ff0000"
    }
  }
});

const CustomStyles = () => {
  return (
    <ThemeProvider theme={theme}>
      <Button variant="contained">Click me</Button>
    </ThemeProvider>
  );
}


const Template = () => {
  return (
    <CustomStyles />
  );
};

export const Default = Template.bind({});

export default {
  title: "mylib/Theme"
} as Meta;

这就是默认按钮样式的样子

主题提供者自定义调色板

正如您可能看到的,ThemeProvider有调色板颜色的definition...but --有些按钮不接受它。提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-20 16:55:33

编辑:这个问题似乎与stackoverflow.com.com/a/70254078/17724218有关,如下所示。

票数 0
EN

Stack Overflow用户

发布于 2022-02-25 11:22:13

把这个添加到.storybook/preview.js中就足够解决我的案子了。请按照这件事上的官方迁移指南学习更多信息。

代码语言:javascript
复制
//.storybook/preview.js
    
 import { ThemeProvider } from '@mui/material/styles';
 import { ThemeProvider as Emotion10ThemeProvider } from 'emotion-theming';
 import { theme } from '../your/system/customTheme/path';
        
   const defaultTheme = theme;
        
    const withThemeProvider = (Story, context) => {
       return (
          <Emotion10ThemeProvider theme={defaultTheme}>
             <ThemeProvider theme={defaultTheme}>
               <Story {...context} />
             </ThemeProvider>
           </Emotion10ThemeProvider>
         );
     };
        
   export const decorators = [withThemeProvider];

   //another storybook exports.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70422566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档