我正在創建一個要indexes在其中附加值的陣列(稍后將在 map 函式中使用)。
let indexes = [];
export default function SortTiles() {
let num = info.num_tiles;
for (let i = 10; i < num 10; i ) {
indexes = [...indexes, i];
}
console.log(indexes);
console.log("UWU")
return(
<div id={"sort-tiles"}>
{/*{indexes.map(makeTiles)}*/}
</div>
)
}
但是當我試圖 console.log 我的陣列時,這是我得到 的輸出:輸出影像 輸出被列印兩次,陣列中的數字也被復制。
uj5u.com熱心網友回復:
不確定您要達到什么目的,但這不是處理陣列或反應組件中的任何資料的正確方法。
試試這個可能會幫助你或可能解決你的問題。
import {useState, useEffect} from 'react';
export default function SortTiles() {
const [indexes, setIndexes] = useState([]);
useEffect(() => {
let num = 20;
let indexArr = []
for (let i = 10; i < num 10; i ) {
indexArr = [...indexArr, i];
}
setIndexes(indexArr);
}, [])
return(
<div id={"sort-tiles"}>
{indexes.map((ind) => (<div>{ind}</div>))}
</div>
)
}
uj5u.com熱心網友回復:
該陣列最有可能被列印兩次,因為您處于嚴格模式,它會雙重渲染組件以幫助捕獲錯誤。
你很幸運,它幫助你抓住了一個!這些值是重復的,因為indexes變數是在函式外部宣告的。由于您從未將其重置為空值,因此每次重新渲染都會繼續添加索引。嘗試在函式內部對其進行初始化。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/482661.html
標籤:javascript html 数组 反应 网络
