无论何时我尝试创建一个随机数数组,然后每次都会更新。我也尝试使用bool值,但仍然重新呈现。请帮我解决这个问题。
import './App.css';
import { useEffect, useState, useCallback } from 'react';
function App() {
const [arr, setArr] = useState([]);
var isLoaded = false;
function add() {
let array = [];
for(var i=0;i<=20;i++){
array.push(Math.floor(Math.random*(10-6))+6);
}
if(!isLoaded){
setArr(array);
console.log('yes');
isLoaded = true;
}
}
add();
return (
<div>
</div>
);
}
export default App;
发布于 2022-10-21 18:18:23
setArr(array)
使组件再次呈现。当呈现时,isLoaded再次定义为false,并且一切都会重新开始,因为您在组件中调用了函数add()
。
你可以试试这个。
export default function App() {
const [arr, setArr] = useState(() =>
Array.from({ length: 20 }, (_) => Math.floor(Math.random() * (10 - 6)) + 6)
);
return (
<div></div>
);
}
https://stackoverflow.com/questions/74157624
复制相似问题