reactjs - 在 Gatsby/React/Graphql 中渲染来自同一数组的图像和视频
问题描述
我有一个通过 GraphQL 来自 Contentful 的嵌套数组,其中包含许多帖子。每个帖子都包含(除其他外)一组图像,U 在循环中渲染这些图像,为每个帖子创建幻灯片。到目前为止,一切都很好。但我希望能够在幻灯片中混合视频和图像,但我被卡住了。视频 src url 会破坏图像标签,反之亦然。有没有办法根据 graphQL 数据有条件地使用图像或视频标签?还是另一种解决方案?
解决方案
我假设您有一个函数可以告诉您文件的类型(视频/图像)。设该函数为getFileType(src)
:
const renderContent = (src) => {
const fileType = getFileType(src);
if (fileType == "image") {
return <img src={src} />;
}
else if (fileType == "video") {
return <video><source src={src}></source></video>;
}
return null;
}
推荐阅读
- google-maps - 步骤 Google API 中的过境详细信息问题
- python - Keras 在处理词嵌入时失败
- javascript - 倒计时值在 JavaScript 中不断出现未定义
- python - Python 正则表达式仅与第二个捕获组匹配 - 不使用第一个捕获组
- c# - 如何从 C# 中的文件创建内存中结构化的 ZIP 存档?
- c# - 保留对 Socket BeginXXX 线程的控制是不好的做法吗?
- ios - 当我在应用商店发布我的应用时出现空白屏幕
- php - PHP(Apache) 不执行 BASH 命令 (At + Wget)
- r - 将单行拆分为多行,保持分隔符不变
- javascript - 如何防止元素脱离 DOM 错误?