Recibo tarjetas de nombres de matriz cuando monto la aplicación.
flashcards=[ {id:1, check1:false, check2:false, check3:false}, {id:2, check1:true, check2:true, check3:true}, {id:3, check1:true, check2:false, check3:false} ]
Filtré esta matriz si check1, check2, check3 son verdaderos. Filtré esta matriz dentro de la función. Pero quiero usar el objeto filtrado fuera de la función.
let fl; console.log('fl outside',fl) // undefined const checkIfAuth = () => { if (flashcards.statusCode === 401 || flashcards.statusCode === 403) { console.log('This is not authorized') setAuth(true) } else { // console.log('Authorizaed') setAuth(false) const checkIfFlase = (flashcard) => { return flashcard.check1 === false || flashcard.check2 === false || flashcard.check3 === false } fl = flashcards.filter(checkIfFlase) console.log('fl inside', fl) // ↑ filtered right objects // [{id:1, check1:false, check2:false, check3:false},{id:3, check1:true, check2:false, check3:false}] } }
¿Cómo puedo actualizar la función exterior fl?
Cualquier consejo es apreciado.
¡Resuelto!
const[fl,setFl] = useState(flashcards) // added const checkIfAuth = () => { if (flashcards.statusCode === 401 || flashcards.statusCode === 403) { console.log('This is not authorized') setAuth(true) } else { // console.log('Authorizaed') setAuth(false) const checkIfFlase = (flashcard) => { return flashcard.check1 === false || flashcard.check2 === false || flashcard.check3 === false } setFl(flashcards.filter(checkIfFlase)) // added } }