【发布时间】:2022-01-17 08:51:51
【问题描述】:
我有一个用于买卖狗的应用。在我的应用程序中,每个犬种都有自己的 svg 文件存储在我的资产文件夹中(大约 150 个 svg 文件)。从后端获取帖子数据时,我会得到关于帖子的不同信息,包括 dogBreed,例如{dogBreed:金毛猎犬}。我想为狗的每个帖子渲染相应的 svg,但我不确定处理这个问题的最佳方法是什么。 我的应用应该导入所有 svg 文件吗? 我应该将所有 svg 文件转换为 JSX 文件吗?我已经在应用程序的其他部分做到了这一点。 如果我要使用 JSX 解决方案,我应该根据以下名称有条件地渲染 JSX:{dogBreed}/>(如果可能的话),还是应该让一个组件将狗品种作为道具并有条件渲染的逻辑? .这将创建一个巨大的文件,我不确定 150 if else/switch 语句是否可行。我感觉真的被困在这里了。
【问题讨论】:
-
首先,如果它们是矢量图形,它们应该很小。其次,如果您使用 Webpack(如果您使用 Create React App 制作应用程序,您已经在使用它),您可以动态/延迟/异步导入它们。第三,既然你提到你正在使用后端,为什么不让静态矢量文件可用于 HTTP 检索,并只渲染一个
<image/>和指向矢量文件的src属性? -
stackoverflow 上已经有可以帮助您的解决方案。见stackoverflow.com/questions/61339259/…
标签: javascript reactjs typescript react-native svg