¿Cómo evitar el bucle infinito? Quiero decir, en el primer clic, StudentSubject debe estar indefinido, y en el segundo clic obtendrá los datos, en mi código actual, el resultado es un bucle infinito, sigue repitiendo la console.log(getStudentId, getRelevance) ¿cómo evitar eso?
const [getStudentId, setStudentId]= useState(); const [getRelevance, setRelevance]= useState(); useEffect(() => { student(); }, []); const onClickGrade = (studentId, relevance) => { ..... console.log(getStudentId, getRelevance) //undefined if(StudentSubject === undefined){ onClickGrade(studentId, relevance) //infinite loop } .... } const student = () => { ..... view.on('click', onClickMap); ..... } const onClickStudent = (event)=>{ const studentId = student.getAttribute('id'); const relevance = student.getAttribute('relevance'); setStudentId(studentId) setRelevance(relevance) onClickGrade(studentId, relevance) }Estás llamando recursivamente a ClickGrade
const onClickGrade = (studentId, relevance) => { ..... onClickGrade(studentId, relevance) ## Infinite loop in a recursive call .... }Depende de lo que quiera lograr, pero ciertamente necesita cambiar su lógica o al menos agregar una condición para evitar un bucle infinito en la recursividad. Tu estudiante Sujeto suena para permanecer siempre indefinido. Es posible que deba guardar prevStudentSubject y compararlo con el tema actual.
if (studnetSubject === prevStendentSubject) return