A página home chama os componentes:
<View>
<Search />
<Categorias />
<Cards />
</View>
Cards contém uma Flatlist como data (dados) = parcerias.
const parcerias = useParcerias();
Esse hook customizado fiz assim:
export default function useParcerias(categoria) {
const [parcerias, setParcerias] = useState([]);
useEffect(() => {
const carregaParcerias = async () => {
const resultado = await buscaParcerias(categoria)
setParcerias(resultado)
}
carregaParcerias();
}, [])
return parcerias;
}
No entando, o componente Categorias precisa filtrar as parcerias pela categoria. Deixei assim:
const [ filtraParcerias ] = useParcerias();
...
<TouchableOpacity style={estilos.categoria} onPress={() => filtraParcerias(item.categoria)}>
<Text>{item.categoria}</Text>
</TouchableOpacity>
...
Só que aí está apresentando o erro: Object is not a function.
Código do buscaParcerias:
import api from "../api";
export async function buscaParcerias(categoria) {
try {
let resultado = []
if (categoria){
resultado = await api.get('/parcerias?tag={categoria}');
} else {
resultado = await api.get('/parcerias');
}
return resultado.data
}
catch (error) {
console.log(error)
return []
}
}