De hecho, me enfrento a un problema en el que setQuery se actualiza en el segundo clic, mientras que el seleccionado se actualiza instantáneamente. Intenté usar la idea de prevState pero el problema persiste.
interface queryProps { intensity: string; categoryId: string; coachId: string; minDuration: number; maxDuration: number; } const Filter=()=>{ const [selected, setSelected] = useState<any>(undefined); const [query, setQuery] = useState<queryProps>({ intensity: '', categoryId: '', coachId: '', minDuration: 0, maxDuration: 1000, }); useEffect(() => { setQuery(prev => ({ ...prev, intensity: selected?.intensity || prev.intensity, categoryId: selected?.categoryId || prev.categoryId, coachId: selected?.coachId || prev.coachId, minDuration: selected?.minDuration || prev.minDuration, maxDuration: selected?.maxDuration || prev.maxDuration, })); console.log('selected ', selected); console.log('query ', query); }, [selected]); return( <> <Dropdown label="Intensity" data={intensityItem} onSelect={setSelected} /> </> ) }