javascript - 导出要在 JSX 标签中使用的 React 组件
问题描述
目标:
将 的默认汉堡图标替换为 中react-burger-menu
的图标react-icons-kit
。前者文档中的示例:
<Menu customBurgerIcon={ <img src="img/icon.svg" /> } />
但是,我想要一个图标模块并从中导入。所以上面的例子就像<Menu customBurgerIcon={MenuIcon} />
.
问题:
我收到一条错误消息:“元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但得到:未定义。”
我正在像这样导出我的图标:
// Icons.js
import React from 'react';
import { Icon } from 'react-icons-kit';
import { menu } from 'react-icons-kit/icomoon/menu';
export const MenuIcon = () => <Icon icon={menu} />;
并像这样使用它:
// Menu.js
import React from 'react';
import { slide as BurgerMenu } from 'react-burger-menu';
import { MenuIcon } from './Icons';
// ...
class Menu extends React.Component {
// ...
render() {
return (
<BurgerMenu
isOpen={open}
onStateChange={state => this.handleStateChange(state)}
customBurgerIcon={MenuIcon}
>
// ...
);
}
}
如果我react-icons-kit
直接从 in进行导入Menu.js
并编写customBurgerIcon={<Icon icon={menu} />}
它就可以了。我想我尝试导出图标组件的方式一定有问题。
如何解决这个问题?先感谢您!
解决方案
尝试
return (
<BurgerMenu
isOpen={open}
onStateChange={state => this.handleStateChange(state)}
customBurgerIcon={<MenuIcon />}
>
在 Menu.js 中
推荐阅读
- python - 静态变量可以在python中声明为私有吗?
- ios - 自定义单元格不出现在 tableView
- spotfire - 需要在 spotfire 中显示选定月份 3 年的趋势分析
- javascript - 像在 IDE 中一样在文本区域中反应自动完成(例如 VS Code、Atom)
- python - Django:选择对象包含所有关键字
- c# - c#:在大写和小写中搜索 DataGridView 列文本
- java - 将值添加到 Java ENUM 以进行测试
- linux - 一般的颜色列表
- c++ - 违反 noexcept 保证的编译器警告或静态分析?
- python - .where 在 PySpark 中使用 LIKE 运算符的奇怪结果