Tengo un retraso con el useState o el estado que le asigne para el input, es un retraso de una letra. Estuve investigando y encontre que ...

Pregunta de la clase:
Search filter
Yefri Enmanuel Encarnación Jiménez

Yefri Enmanuel Encarnación Jiménez

Pregunta
studenthace 4 años

Tengo un retraso con el useState o el estado que le asigne para el input, es un retraso de una letra. Estuve investigando y encontre que es debido a que el setState hace la asignación de manera asincrona. Sin embargo me gustaría saber si alguién conoce una solución para esto

mi codigo:

function SearchBar(props) { const [query, setQuery] = React.useState("") const [searchedBadges, setSearchedBadges] = React.useState(props.badges) React.useMemo(()=> { const result = props.badges.filter(badge => { const Localquery = `${badge.firstName} ${badge.lastName}`.toLowerCase() return Localquery.includes(query.toLowerCase()) }) setSearchedBadges(result) }, [props.badges, query]) const toSearch = e => { setQuery(e.target.value) props.onSearch(searchedBadges) console.log(searchedBadges) console.log(query) console.log(e.target.value) } return ( <React.Fragment> <div className="searchContainer"> <label className="searchContainer_label" htmlFor="searchBar">Search in Platzi</label> <input value={query} type="text" className="searchContainer_bar" id="searchBar" placeholder="Search for badges" onChange={toSearch} /> </div> </React.Fragment> ) } export default SearchBar;
No hay respuestas
para escribir tu comentario
Curso de React.js [Empieza Gratis]

Curso de React.js [Empieza Gratis]

React es una de las librerías más utilizadas hoy para crear aplicaciones web. Aprende desde la creación y diseño de componentes hasta traer datos de un API. Desarrolla aplicaciones web de muy alta calidad en tiempo record con React.js

Curso de React.js [Empieza Gratis]
Curso de React.js [Empieza Gratis]

Curso de React.js [Empieza Gratis]

React es una de las librerías más utilizadas hoy para crear aplicaciones web. Aprende desde la creación y diseño de componentes hasta traer datos de un API. Desarrolla aplicaciones web de muy alta calidad en tiempo record con React.js