Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

363
Visualizações
Cómo filtrar datos y mostrarlos en flatList (buscar en flatlist) React Native

Estoy tratando de buscar datos y enviar esos datos a una lista plana. El código actual funciona sin errores, sin embargo, solo encuentra resultados con el texto exacto buscado. Estoy tratando de filtrar datos para obtener resultados siempre que el texto que estoy buscando se encuentre en cualquier parte de la cadena. Necesito ayuda con mi función handleSearch

Ejemplo. Cuando busco: "Buen libro". encuentra resultados. Si busco: "es un buen libro" no obtengo ningún resultado

Me gustaría recibir resultados para mi cadena siempre que el texto se encuentre en algún lugar de la cadena.

Ejemplo Lo que estoy esperando. Encuentre resultados si la cadena contiene: Este es un buen libro o Bueno es un libro.

 // _.filter is a function I am using from Lodash // action list is the data coming from another file: ActionListService.getList() const ActionList = [ { title: 'Good Book', icon: 'good book', action: 'good book', }, { title: 'Hello World', icon: 'hello', action: 'hello action', }, ] const [isLoading, setIsLoading] = useState(false); const [query, setQuery] = useState(''); const [fullData, setFullData] = useState([]); const [data, setData] = useState([]); useEffect(() => { setIsLoading(true); ActionListService.getList() .then(results => { setData(results); setFullData(results); setIsLoading(false); }) .catch(err => { setIsLoading(false); }); }, []); const handleSearch = text => { const formattedQuery = text.toLowerCase(); const filteredData = _.filter(fullData, value => { return value.title.toLowerCase().includes(formattedQuery); }); setData(filteredData); setQuery(text); }; return ( <> <Searchbar placeholder="Search" onChangeText={queryText => handleSearch(queryText)} value={query} /> <View style={{paddingLeft: insets.left, paddingRight: insets.right}}> <FlatList data={data} numColumns={orientation.orientation ? 1 : 3} key={orientation.orientation ? 1 : 3} keyExtractor={item => item.title} renderItem={({item}) => ( <List.Item onPress={() => createAction(item.action)} // eslint-disable-next-line react-native/no-inline-styles style={{ width: orientation.orientation ? '100%' : '30%', }} title={item.title} left={() => <List.Icon icon={item.icon} />} /> )} /> </View> </> );
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda