Sar*_*ufi 5 javascript reactjs material-ui astrojs
我正在学习Astro。我考虑在 Astro 组件中使用 MUI 的材质组件,例如 Button、Typography 等,因为我已经启用了 React 集成。
astro.config.js
import { defineConfig } from 'astro/config';
import react from '@astrojs/react';
// https://astro.build/config
export default defineConfig({
// Enable React to support React JSX components.
integrations: [react()],
});
Run Code Online (Sandbox Code Playgroud)
Counter.tsx:
import { useState } from "react";
import Container from "@mui/material/Container";
import "./Counter.css";
import { Button, Typography } from "@mui/material";
export default function Counter({
children,
count: initialCount
}: {
children: JSX.Element;
count: number;
}) {
const [count, setCount] = useState(initialCount);
const add = () => setCount((i) => i + 1);
const subtract = () => setCount((i) => i - 1);
return (
<Container>
<div className="counter">
<button onClick={subtract}>-</button>
<Typography variant="h6">{count}</Typography>
<Button variant="contained" color="secondary" onClick={add}>
+
</Button>
</div>
<div className="counter-message">{children}</div>
</Container>
);
}
Run Code Online (Sandbox Code Playgroud)
在本地,我尝试使用client:only="react". 尽管如此,astro 的风格仍然占据主导地位。是否有任何官方/最佳方法或至少有一个将 MUI 与 Astro 集成的解决方法,我错过了或者只是 MUI 不适用于 Astro?
提前致谢
CodeSandBox 快速概述链接:https://codesandbox.io/s/cranky-ride-3yw946? file=/src/components/Counter.tsx:0-777
正如 noktasizi#3070 所说,Astro 似乎尚不支持像 MUI 这样的 UI 库(其组件样式依赖于 CSS-in-Javascript)。
您可以关注https://github.com/withastro/astro/issues/4432了解更多信息。
| 归档时间: |
|
| 查看次数: |
4769 次 |
| 最近记录: |