我在学天文。我想使用MUI的材料组件,如Button,排版,等等,在天文组件中,因为我已经启用了反应集成。
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()],
});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>
);
}在当地,我和client:only="react"试过了。尽管如此,阿斯特洛的风格仍处于优先地位。是否有任何官方/最好的方法,或至少有一个解决办法,将MUI与阿童木集成,而我忽略了它,或者简单地说,MUI不适用于阿童木?
提前谢谢
快速概述的CodeSandBox链接:https://codesandbox.io/s/cranky-ride-3yw946?file=/src/components/Counter.tsx:0-777
发布于 2022-10-04 23:53:33
正如noktasizi#3070所指出的那样,看起来像MUI这样的UI库(它们的组件样式依赖于CSS in Javascript)似乎还没有得到Astro的支持。
您可以跟踪https://github.com/withastro/astro/issues/4432获得更多相同的信息。
https://stackoverflow.com/questions/73941829
复制相似问题