标签: sx

如何在 Material UI 中制作自定义水平虚线分隔线?

我有一个分隔线模板,我想通过将其转换为水平虚线分隔线来自定义它。但我不知道如何覆盖它,特别是如果我什至通过应用 borderRadius 进行 sx 编辑,它不会改变分隔线。

源代码:

import * as React from "react";
import List from "@mui/material/List";
import ListItem from "@mui/material/ListItem";
import ListItemText from "@mui/material/ListItemText";
import Divider from "@mui/material/Divider";

const style = {
  width: "100%",
  maxWidth: 360,
  bgcolor: "background.paper"
};

export default function ListDividers() {
  return (
    <List sx={style} component="nav" aria-label="mailbox folders">
      <ListItem button>
        <ListItemText primary="Inbox" />
      </ListItem>
      <Divider sx={{ borderRadius: 1 }} />
      <ListItem button divider>
        <ListItemText primary="Drafts" />
      </ListItem>
      <ListItem button>
        <ListItemText primary="Trash" />
      </ListItem>
      <Divider sx={{ borderRadius: 1 …
Run Code Online (Sandbox Code Playgroud)

css divider reactjs material-ui sx

5
推荐指数
1
解决办法
6075
查看次数

MUI - 扩展 sx props 以记住值并避免重新渲染

MUIsx的 prop对于速度和代码可读性很有用(合理),但它可能会导致许多不必要的重新渲染(这会导致性能下降)。sx

所以我想知道是否有办法添加 useMemo 包装版本的 MUIsx道具。我将如何扩展 MUI 来实现这一目标?

这是我的意思的一个简化示例。

基地情况:

const MyComponent = () => {

  return
    <>
      <Box sx={{color: "red"}}> I am a bit static </Box>
      <Box sx={{width: window.innerWidth + "px"}}> I am so dynamic! </Box>
    </>  
};
Run Code Online (Sandbox Code Playgroud)

这将是(在本例中是过度的)优化:

const MyComponent = () => {
  const boxStyle = useMemo(() => ({color: "red"}), [])

  return
    <>
      <Box sx={boxStyle}> I am a bit static </Box>
      <Box sx={{width: window.innerWidth + "px"}}> I am so dynamic! …
Run Code Online (Sandbox Code Playgroud)

css reactjs material-ui react-usememo sx

5
推荐指数
0
解决办法
911
查看次数

标签 统计

css ×2

material-ui ×2

reactjs ×2

sx ×2

divider ×1

react-usememo ×1