reactjs 如何将material-ui图标作为 prop 传递给react组件并进行渲染?

hgb9j2n6  于 2023-05-28  发布在  React
关注(0)|答案(1)|浏览(127)

我创建了一个react应用程序,并使用材质图标对其进行了样式化,但不知道如何将此图标作为 prop 传递给另一个组件。我已经知道如何将字符串、数组和对象作为props传递给组件。
我尝试将其作为字符串传递,但不起作用,并试图解决这个问题。

g9icjywg

g9icjywg1#

以下是我通常的做法:

import React from 'react';
import AppsOutageIcon from '@mui/icons-material/AppsOutage';

const AnotherComponent = (props) => (
  <div>
    Here is my passed icon: {props.icon}
  </div>
);

function App() {
  return (
    <div className="App">
      <AnotherComponent icon={<AppsOutageIcon />} />
    </div>
  );
}

如果将导入的图标直接作为 prop 传递给另一个组件并尝试渲染它,将遇到以下错误:

Objects are not valid as a React child (found: object with keys {$$typeof, type, compare}). If you meant to render a collection of children, use an array instead.

要解决这个问题,您需要首先示例化组件,将导入的图标 Package 为一个标记,如<AppsOutageIcon />,而不是仅使用AppsOutageIcon

相关问题