我的数组长度为8
const [macs,setMacs]=useState([{"mac_empfangen":"f2:c5:5b:1c:d8:59"},{"mac_empfangen":"c4:9f:1a:15:30:65"},...])
现在我想用
来映射这个数组const nameMacs=(
macs.map(mac=>(
<AddDevice mac_empfangen={mac.mac_empfangen}/>
)
)
但是当我在控制台中记录结果时,
const nameMacs=(
macs.map(mac=>(
console.log(mac)
<AddDevice mac_empfangen={mac.mac_empfangen}/>
)
)
然后我看到,该函数在数组上映射了两次。
任何想法,如何解决?
答案 0 :(得分:0)
const nameMacs = useMemo(() => {
<>
{macs.map((mac, i) =>
<AddDevice key={i} mac_empfangen={mac.mac_empfangen} />
)}
</>
}, [macs])
这样,namemacs仅在macs更改时才会重新加载。另外,不要忘记钥匙。