我将把MUI图标传递给组件Test
,并且我想为该图标创建原型,但我不确定图标的正确原型应该是什么。
App.js
import "./styles.css";
import VisibilityIcon from "@material-ui/icons/Visibility";
import Test from "./Test";
export default function App() {
return (
<div className="App">
<Test icon={<VisibilityIcon />} />
</div>
);
}
Test.jsx
import PropTypes from "prop-types";
function Test(props) {
const { icon } = props;
return (
<div>
Icon:
{icon}
</div>
);
}
Test.propTypes = {
// icon: ??????
};
export default Test;
https://codesandbox.io/s/intelligent-curie-8mtbw?file=/src/Test.jsx:0-213
发布于 2021-09-10 06:16:29
如果你想具体的话,我会和PropTypes.element
一起去。
Test.propTypes = {
icon: PropTypes.element,
};
//反应元件。optionalElement: PropTypes.element,
如果您想要变得更宽松/更一般,那么可以将PropTypes.node
用于任何可呈现的内容。
//任何可以呈现的内容:数字、字符串、元素或包含这些类型的数组// (或片段)。optionalNode: PropTypes.node,
发布于 2021-09-10 06:16:28
PropTypes.element
它应该是一个
Test.propTypes = {
icon: PropTypes.element
};
工作实例:
https://stackoverflow.com/questions/69127951
复制相似问题