当前位置: 首页 > news >正文

做loge的网站拉新app推广接单平台

做loge的网站,拉新app推广接单平台,武汉it培训机构,建设网站网页打不开文章目录编辑MUI样式自定义主题styled-component使用MUI主题开发组件styledd-components Theme typescript 支持编辑MUI样式 MUI 和 syuled-components 都有自己的主题机制 要他们配合使用需要看上一篇 styled-components作为 MUI的样式引擎实现 让 MUI采用styled-components 式…

文章目录

        • 编辑MUI样式
        • 自定义主题
        • styled-component使用MUI主题开发组件
        • styledd-components Theme typescript 支持

编辑MUI样式

MUI 和 syuled-components 都有自己的主题机制 要他们配合使用需要看上一篇 styled-components作为 MUI的样式引擎实现 让 MUI采用styled-components 式自定义样式组件

完成后查看 styled-components 的props

import { Button, styled } from "@mui/material";const MyBtn = styled(Button)`${props => {console.log(props);return "";}}
`;<MyBtn variant="contained">Hello MUI
</MyBtn>

在这里插入图片描述非常棒 MUI的主题样式填充到了styled-components的props中了

编辑样式

const MyBtn = styled(Button)`border: 2px solid #ccc;margin: 0.5rem;
`;

在这里插入图片描述

自定义主题

./theme/index.ts

import { createTheme } from "@mui/material";export const light = createTheme({palette: {primary: { light: "#3f3ff5", main: "#51f", dark: "#4108cf" },mode: "light",},
});export const dark = createTheme({palette: {primary: { light: "#888", main: "#222", dark: "#333" },mode: "dark",},
});

使用

const Title = styled("section")`color: ${props => props.theme.palette.primary.light};background: ${props => props.theme.palette.background.default};
`;

切换主题

import * as Theme from "./theme";function App() {const [mode, setMode] = useState<"light" | "dark">("dark");const toggleTheme = useCallback(() => setMode(prev => (prev === "dark" ? "light" : "dark")),[]);return (<ThemeProvider theme={Theme[mode]}><MyBtn onClick={toggleTheme} variant="contained">Hello MUI</MyBtn><Title>234</Title></ThemeProvider>)
}

styled-component使用MUI主题开发组件

  • MUI的styled支持像下面这样使用
import { styled } from "@mui/material";const Title = styled("section")`color: ${props => props.theme.palette.primary.light};background: ${props => props.theme.palette.background.default};
`;
  • 使用 styled-component的styled (真不戳)
const Title = styled.section`color: ${props => props.theme.palette.primary.light};background: ${props => props.theme.palette.background.default};${props => {console.log("styled-component:", props);return "";}}
`;

我们发现
在这里插入图片描述
MUI的主题与styled-component的主题同步了而我并没有加入 import { ThemeProvider } from "styled-components"; 只使用了MUI的import { ThemeProvider } from "@mui/material";
真象就是 使用 styled-compoent作为 MUI的样式引擎 MUI的ThemeProvider内部实现的styled-components的ThemeProvider 方便极了

styledd-components Theme typescript 支持

在使用中发现 styled-components 的props.theme没有自动提示
因为 默认的theme是一个空接口 需要我们自己拓展 添加自己的theme
在这里插入图片描述

  • 在src目录下创建 d.ts
    让styled-components的theme继承mui的Theme
import "styled-components";
import { Theme } from "@mui/material";declare module "styled-components" {export interface DefaultTheme extends Theme {}
}

关于d.ts的位置 参考 tsconfig.json 中的include字段

在这里插入图片描述
参考

http://www.lbrq.cn/news/2388727.html

相关文章:

  • 做网站 传视频 用什么笔记本好电商网页
  • 企业网站建设公司注意哪些问题网上接单平台有哪些
  • 无极app定制开发公司网站模板中国十大营销策划公司排名
  • 网站快捷按钮以什么方式做小江seo
  • 外贸网站免费模板百度seo关键词报价
  • 深圳做网站联雅朔州网站seo
  • 工程建设领域专项治理工作网站长沙网络营销哪家平台专业
  • 沙漠风网站开发怎样武汉刚刚发生的新闻
  • 现在做网站到底需要多少钱网站seo检测
  • 信用网站建设成效建网站哪个平台好
  • 科学小制作西安百度快照优化
  • 如何做平台软件seo产品是什么意思
  • 做flash音乐网站的开题报告bing搜索引擎下载
  • 将台地区网站建设腾讯域名
  • 海口网站建设咨询石家庄
  • 做网站霸屏公司销售好做吗seo内容优化是什么
  • 淘客网站怎么做淘口令建站系统哪个比较好
  • 宁津做网站公司今日时事新闻
  • 西宁高端网站制作公司seo的方式有哪些
  • 易讯企业建站系统2022年app拉新推广项目
  • 网站开发课程百度云泉州seo网站排名
  • 网站导航怎么做的济南市新闻最新消息
  • 电子印章在线制作生成器免费seo的内容主要有哪些方面
  • 哈尔滨网站建设代理商网站入口百度
  • 设计公司网站源码网站推广的营销策划方案
  • 西安网站建设网络营销师报名入口
  • 临沂做商城网站友情链接软件
  • 电子商务网站建设与管理的感受东莞网站推广策划
  • github搭建个人博客搜索引擎优化好做吗
  • 思帽网站建设站长工具seo诊断
  • 本地大模型部署工具全解析:LM Studio vs. Ollama 及最佳实践指南
  • pom.xml文件中的${}变量从哪里传值
  • Leetcode 04 java
  • 微信小程序商品结算功能
  • GLM(General Language Model,通用语言模型)
  • lua(xlua)基础知识点记录一