React for loop run twice and Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. only array with even index are assigned values .
import logo from './logo.svg';
import './App.css';
import Board from "./components/Board";
import { useState, useEffect } from 'react';
function App() {
const [candyArray, setcandyArray] = useState([]);
let n = 8, arr = [], i;
for (i = 0; i < (n * n); i++) {
arr[i] = Math.floor((Math.random() * n));
i++;
}
setcandyArray(arr);
console.log(candyArray);
return (
<Board />
);
}
export default App;
Board js
export default function Board(props) {
return (
<div className="board">
<div className="board-wrapper">
<div className="candy-box" id="box1"></div>
<div className="candy-box" id="box2"></div>
<div className="candy-box" id="box3"></div>
<div className="candy-box" id="box4"></div>
<div className="candy-box" id="box5"></div>
<div className="candy-box" id="box6"></div>
<div className="candy-box" id="box7"></div>
<div className="candy-box" id="box8"></div>
<div className="candy-box" id="box9"></div>
<div className="candy-box" id="box10"></div>
<div className="candy-box" id="box11"></div>
<div className="candy-box" id="box12"></div>
<div className="candy-box" id="box13"></div>
<div className="candy-box" id="box14"></div>
<div className="candy-box" id="box15"></div>
<div className="candy-box" id="box16"></div>
<div className="candy-box" id="box17"></div>
<div className="candy-box" id="box18"></div>
<div className="candy-box" id="box19"></div>
<div className="candy-box" id="box20"></div>
<div className="candy-box" id="box21"></div>
<div className="candy-box" id="box22"></div>
<div className="candy-box" id="box23"></div>
<div className="candy-box" id="box24"></div>
<div className="candy-box" id="box25"></div>
<div className="candy-box" id="box26"></div>
<div className="candy-box" id="box27"></div>
<div className="candy-box" id="box28"></div>
<div className="candy-box" id="box29"></div>
<div className="candy-box" id="box30"></div>
<div className="candy-box" id="box31"></div>
<div className="candy-box" id="box32"></div>
<div className="candy-box" id="box33"></div>
<div className="candy-box" id="box34"></div>
<div className="candy-box" id="box35"></div>
<div className="candy-box" id="box36"></div>
<div className="candy-box" id="box37"></div>
<div className="candy-box" id="box38"></div>
<div className="candy-box" id="box39"></div>
<div className="candy-box" id="box40"></div>
<div className="candy-box" id="box41"></div>
<div className="candy-box" id="box42"></div>
<div className="candy-box" id="box43"></div>
<div className="candy-box" id="box44"></div>
<div className="candy-box" id="box45"></div>
<div className="candy-box" id="box46"></div>
<div className="candy-box" id="box47"></div>
<div className="candy-box" id="box48"></div>
<div className="candy-box" id="box49"></div>
<div className="candy-box" id="box50"></div>
<div className="candy-box" id="box51"></div>
<div className="candy-box" id="box52"></div>
<div className="candy-box" id="box53"></div>
<div className="candy-box" id="box54"></div>
<div className="candy-box" id="box55"></div>
<div className="candy-box" id="box56"></div>
<div className="candy-box" id="box57"></div>
<div className="candy-box" id="box58"></div>
<div className="candy-box" id="box59"></div>
<div className="candy-box" id="box60"></div>
<div className="candy-box" id="box61"></div>
<div className="candy-box" id="box62"></div>
<div className="candy-box" id="box63"></div>
<div className="candy-box" id="box64"></div>
</div>
</div>
)
}
i want to make an array with values randomly filled between 0 to 7 and this array stored in state value(candyArray) in react. thank you