当前位置: 首页 > 知识库问答 >
问题:

如何在动态导入中使用样式化组件

东门修文
2023-03-14

我试图找到一种方法来动态导入继承一些标准样式的svg图标。我没有看到其他人写这个...所以我想我走错了路。

我尝试过在样式化的组件中创建一个SVG包装器,但这给了我一个svg的巢

SVG图标代码

export { ReactComponent as default } from './logo.svg';

我的图标代码

const TestStyle = styled.svg`
  height: 1rem;
  width: 1rem;
  display: inline-block;
`
const Icon: React.FC<IconProps> = ({ name }: IconProps): React.ReactElement => {
  const DynamicIcon = lazy((): Promise<any> => import(`../../assets/icons/${name}.tsx`));
  return (
    <Suspense fallback={<div>Loading ...</div>}>
      <DynamicIcon />
    </Suspense>
  );
};

导入正在工作并显示,但我希望将组件作为样式化组件,这将使我能够使用道具设置主题并动态更改SVG样式。

暂时还没有答案

 类似资料:
  • Button组件通常由Text元素组成,该元素用TouchableHighlight(或其他touchable)包装。我正在尝试创建一个使用styled-components样式的按钮组件,但是我的样式很难动态响应道具。 下面,我创建了一个按钮组件,类似于样式化组件文档中的Adapting based on props示例。 导入后,我用的按钮是这样的... 所以,我希望我的纽扣看起来像这样...

  • 本文向大家介绍怎样动态导入组件?相关面试题,主要包含被问及怎样动态导入组件?时的应答技巧和注意事项,需要的朋友参考一下 自己使用 import 和 async/await 实现的异步组件 React.lazy 开源库 react-loadable 库/react-lazyload 库 babel 动态导入(Dynamic Import)

  • 从一个无头的CMS中,我正在获取应该包含在某个页面上的组件列表。获取后,我将动态地导入提到的组件,如下所示: 然后我将这些组件作为子道具传递给某个容器。 然而,尽管一切都运行良好,但对于我拥有的每个组件,我都收到了一些警告: id为“sc-bdnylx”的组件styled.div已动态创建。您可能会看到这个警告,因为您在另一个组件中调用了styled。要解决这个问题,只能在任何呈现方法和函数组件之

  • 问题内容: 我正在使用样式组件,并试图设置这样的背景图片 我也试过不加引号 在两种情况下,我都得到相同的结果 http:// localhost:3000 / assets / image.png 加载资源失败:服务器响应状态为404(未找到) 我正在使用Richard Kall的React Starter 该文件肯定在指定的位置。 我加载不正确吗? 我应该提一下,我对此非常陌生(React和样式

  • 我正忙于重构React项目以使用样式化组件。它目前正在使用SASS。所以,我有一个工作组件: 每个Li组件都从附加一个类的父组件导入一个prop。例如,第一个列表项将在单击时缩进该列表项,并取消缩进所有其他列表项。这都保持在父状态。到目前为止一切都好。现在,这个缩进类在一个scss文件中定义: 我不想让那个scss文件隐藏那个缩进类。它应该在我的Main NavDiv组件中的某个地方定义,这样我就

  • 问题内容: 我有一个页面,可根据用户输入呈现不同的组件。目前,我已经对每个组件的导入进行了硬编码,如下所示: 但是,我一直都在更改/添加组件。有没有办法使文件仅存储组件的名称和路径,然后将它们动态导入另一个文件中? 问题答案: 我认为对于我想要实现的目标可能有些困惑。我设法解决了我遇到的问题,并在下面显示了我的代码,其中显示了我的解决方法。 单独的文件(ComponentIndex.js): 主文