javascript - 通过数组反应循环
问题描述
import React, { useEffect, useState } from "react";
import "./styles.css";
export default function App() {
const [videoDevicesList, setVideoDevices] = useState([]);
useEffect(() => {
// navigator.mediaDevices.enumerateDevices().then(gotDevices)
if (true) {
(async () => {
const devices = await navigator.mediaDevices.enumerateDevices();
const videoInput = devices.filter(
(device) => device.kind === "videoinput"
);
setVideoDevices(videoInput);
})();
}
}, []);
return (
<div className="App">
{JSON.stringify(videoDevicesList)}
<h1>Loop</h1>
{videoDevicesList.forEach((device) => (
<div key={device.groupId}>{device.groupId}</div>
))}
</div>
);
}
我有这个代码。在 UI 中 {JSON.stringify(videoDevicesList)}
打印一个。array
也typeof videoDevicesList
重新运行object
。
我想循环array
并打印groupId
. 但这不起作用。
如何修复此错误?
任何帮助!
提前致谢。=)
解决方案
改变你forEach
的map
map
返回一个新数组,在这种情况下它是一个组件数组
forEach
只需遍历每个项目,它不会返回任何内容。
推荐阅读
- axios - Vuex Store 中的 Axios 返回承诺而不是数据
- reactjs - 在 React Navigation 中返回主屏幕时如何调用构造函数?
- snowflake-cloud-data-platform - 连接到雪花连接器时,在笔记本中运行报告的最佳方式是什么?
- azure - 可以和不能使用 B2C 进行身份验证的注册应用程序之间有什么区别?
- bash - 将序列长度添加到 fasta 文件中的标题
- node.js - 如何修复html-pdf节点模块任意文件读取漏洞?
- c - 在 C 中前向链接一个链表
- c# - 如何使用 TcpClient 将图像作为 HTTP 响应发送
- sql - 如何在数据表中显示 belongsTomany 数据
- sql-server - 如何替换导致 SQL 语法错误的撇号