reactjs - 在 Reactjs 中使用 HTML5 音频标签
问题描述
我正在尝试<audio>
在 React 中使用 HTML5 标签,但它没有被渲染。
这是我第一次使用 React,所以我可能会遗漏一些明显的东西。
我正在使用现有的 Drupal 前端并在 React 中重新构建它。
我所有的其他 HTML 都可以正常工作,但 HTML5<audio>
标记却不行。
这是我最简单的组件来显示问题:
const NoData = () => (
<audio controls="" controlsList="nodownload">
<source src="/sites/default/files/fruits/apples.mp3" type="audio/mpeg" />
</audio>
);
当我查看页面时,HTML 在那里,但它没有被渲染。
这个 HTML 是从我网站的另一部分逐字复制的,所以它应该可以工作。
React 应用程序嵌入在 Drupal 页面中,因此我将<audio>
标签复制到 Drupal 页面本身,它在那里工作。它只是没有出现在 React 本身中。
<source>
正在读取标签中的文件;如果我将文件更改为无效文件,我会在 Chrome 开发工具中收到警告。
那么如何<audio>
在 React 中使用 HTML5 标签呢?
解决方案
就这样离开controls
:
const App = () => (
<div>
<audio src="https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3" controls />
<audio controlsList="nodownload" controls>
<source src="https://file-examples-com.github.io/uploads/2017/11/file_example_MP3_700KB.mp3" type="audio/mpeg" />
</audio>
</div>
)
ReactDOM.render(<App />, document.getElementById("react"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id="react"></div>
推荐阅读
- javafx - 如何确定我的 JavaFX 应用程序所需的 FXML 文件、CSS 文件、图像和其他资源的正确路径?
- r - 如何使用 ifelse 添加日期
- r - 如何在 R 中创建面板数据的多方面图?
- octave - Octave - 更改同一图中不同图的颜色
- c# - Azure 函数中的 switch 表达式导致异常
- r - 删除 data.table 中多余的 colname
- javascript - 如何为 Node JS 设置 REST API
- c# - 如何解析 XML Blob 并关联来自同级节点的数据?
- ios - 如何在代码中识别 Apple App Store 国家/地区
- python - 通过 ssh 运行 telnet