React JS:需要一个字符串但得到:对象

时间:2021-07-24 13:34:06

标签: reactjs

我有一个如下所示的 icon.js 文件来导出您需要的图标:

import RotateLeftIcon from '@material-ui/icons/RotateLeft';

const iconTypes = {
  LEFT_ROTATION: <RotateLeftIcon />,
};

export const iconNames = {
  LEFT_ROTATION: 'LEFT_ROTATION',
};

export const getIcon = (iconName, props) => {
  const Component = iconTypes[iconName];
  return <Component style={{ ...props }} />;
};

我这样称呼它们:

import React from 'react'

export default function TestingIcons() {
    return getIcon(iconNames.LEFT_ROTATION, {
        color: '#fff',
        fontSize: '1rem',
      });
}

执行上述操作时,出现此错误:Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您必须使用以下内容进行编辑:

const iconTypes = {
  LEFT_ROTATION: RotateLeftIcon,
};