小编Lia*_*iam的帖子

如何使用 Typescript 从 mui 扩展调色板

我正在尝试扩展 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:有人已经发布了同样的问题,但它对我没有帮助

typescript reactjs material-ui

9
推荐指数
3
解决办法
2万
查看次数

如何使用SWR nextjs hook在一个页面中进行多次调用?

我想为一个页面获取 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)

fetch endpoint promise next.js swr

6
推荐指数
1
解决办法
7700
查看次数

标签 统计

endpoint ×1

fetch ×1

material-ui ×1

next.js ×1

promise ×1

reactjs ×1

swr ×1

typescript ×1