我正在尝试扩展 mui 提供的调色板。主要颜色、次要颜色等的覆盖效果很好,但如果我想在之后创建一组自定义颜色,我不知道如何使其工作。有很多没有打字稿的例子,但是当这个人进入游戏时,事情就变得更加棘手。假设我有这个:
主题.tsx
palette: {
primary: {...}, // override works
custom: {
main: 'color',
dark: 'color1',
light: 'color2',
contrastText: 'color3'
}
}
Run Code Online (Sandbox Code Playgroud)
根据 mui 文档的说法,我应该使用模块增强:
declare module "@material-ui/core/styles/createPalette" {
interface Palette {
custom: Palette['primary'];
}
interface PaletteOptions {
custom: PaletteOptions['primary'];
}
}
Run Code Online (Sandbox Code Playgroud)
没有什么是大喊大叫的,但是当我将它用于 Box 组件时,它不起作用(其他像primary.dark 效果很好)。几天来我一直在试图找出如何做到这一点,但我不得不说我对此一无所知。
我会很感激一些帮助!谢谢!:)
Ps:有人已经发布了同样的问题,但它对我没有帮助
我想为一个页面获取 3 个端点,我使用 next.js 中的 SWR 挂钩,因为我需要从客户端获取它。该文档对我没有帮助,因为我在其他文件中有 url 的变量。我对此很陌生。这是我所拥有的并且仅使用一个端点就可以很好地工作:
数据.ts
const fetcher = (url: string) => fetch(url).then((response) => response.json())
const getData = (endpoint: string) => {
try {
const { data, error } = useSWR(`${ENDPOINTS_URL}${endpoint}`, fetcher)
return { data, error }
} catch (error) {
console.log('error:', error)
throw error
}
}
export const getData1 = () => getData(`endpoint1`)
export const getData2 = () => getData(`endpoint2`)
export const getData3 = () => getData(`endpoint3`)
Run Code Online (Sandbox Code Playgroud)
这就是我称呼它们的地方:
索引.tsx
const { data, error …Run Code Online (Sandbox Code Playgroud)