Estoy tratando de leer todos los elementos marcados y registrar ese valor en selectedTransaction .
El problema es cuando verifico el primer elemento, arroja un error undefined y para la selección del segundo elemento muestra 1 elemento de matriz en el registro de la consola.
Pero si registro las transacciones selectedTransactions en la consola, muestra los valores correctos de los elementos.
Lo que estoy haciendo mal aquí. Por favor ayuda
const [selectedTransaction, setSelectedTransaction] = useState<any>(); const handleCheckboxOnChange = ( transactionDetails: TransactionDetail, isCheckeds: boolean, ) => { const selectedTransactions = transactionsList.transactionDetails .filter((item: TransactionDetail) => item.isChecked === true); setSelectedTransaction(selectedTransactions); console.log(selectedTransactions); // Shows 1 selected Item console.log(selectedTransaction); // Shows undefined })El estado no se actualiza inmediatamente (es asincrónico y por lotes), por eso no está undefined o el estado anterior
setSelectedTransaction(selectedTransactions); console.log(selectedTransactions); // Shows 1 selected Item console.log(selectedTransaction); // Shows undefined Use un useEffect para consolar el estado cuando se cambien los datos. Proporcione la matriz de dependencia [selectedTransaction]
useEffect(()=>{ console.log(selectedTransaction); }, [selectedTransaction]);