我有很多將樣式作為道具引入的組件。簡單的東西,比如:
import { CSSProperties } from '@material-ui/styles/withStyles' // importing from mui v4 because I don't know how to do so from v5 paths
import { styled } from '@mui/material'
const StyledDiv = styled('div')(({ theme, customStyles }: StyledDivType) => ({
color: theme.palette.text.primary,
...customStyles
}))
export const MyComponent = (customStyles: CSSProperties) => (
<StyledDiv customStyles={customStyles}>My component</StyledDiv>
)
// Usage:
const App = () => (
<MyComponent customStyles={{ padding: 10, backgroundColor: 'blue' }}/>
)
問題是,出于打字目的,我找不到從 MUI v5 匯入 CSSProperties 型別的正確位置。哪里是匯入的合適位置,以便我可以洗掉所有 MUI v4 匯入路徑?
謝謝!
uj5u.com熱心網友回復:
v5 中的等效匯入是:
import { CSSProperties } from '@mui/material/styles/createTypography';
在這里匯出:https ://github.com/mui/material-ui/blob/v5.5.3/packages/mui-material/src/styles/createTypography.d.ts#L41
這種方法的缺點是這將被視為三級匯入,這意味著檔案的以下部分適用:
請注意,我們僅支持一級和二級匯入。任何更深的東西都被認為是私有的,并且可能導致問題,例如捆綁中的模塊重復。
它也可以使用:
import { CSSProperties } from '@mui/styles/withStyles';
在這里匯出:https ://github.com/mui/material-ui/blob/v5.5.3/packages/mui-styles/src/withStyles/withStyles.d.ts#L22
如果您不依賴@mui/styles.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/451845.html
