Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro no retorno da requisição GET

Estou seguindo o exemplo do curso e no meu projeto está retornando erro após a requisição GET:

Warning: An effect function must not return anything besides a function, which is used for clean-up.%s%s, 

It looks like you wrote useEffect(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:

useEffect(() => {
  async function fetchData() {
    // You can await here
    const response = await MyAPI.getData(someId);
    // ...
  }
  fetchData();
}, [someId]); // Or [] if effect doesn't need props or state

Código da página:

export default function BuscaScreen({ route, navigation }) {
    const [barco, setBarco] = useState([]);
    const estaNaTela = useIsFocused()

    useEffect(async () => {
        const resultado = await buscaBarco();
        setBarco(resultado.content);
    }, [estaNaTela])

    return (
        <View style={main.container}>

            <FlatList
                data={barco}
                style={{ width: '100%' }}
                keyExtractor={barco => barco.id}
                renderItem={({ item }) => (
                    <TouchableOpacity style={styles.row}>
                        <Text>{item.id}</Text>
                        <Text>{item.modelo}</Text>
                        <Text>{item.valor}</Text>
                        <Text>{item.ano}</Text>
                        <Text>{item.tipoBarco.nome}</Text>
                    </TouchableOpacity>
                )}
            />

        </View>
    );
}

Função de busca:

export async function buscaBarco() {
    try {
        const resultado = await api.get('/barcos/1');
        return resultado.data;
    } catch (error) {
        console.log(error)
        return {}
    }
} 

Eu não entendi muito bem pelo código de erro o que devo fazer, alguém pode me ajudar?

1 resposta
solução!

consegui resolver seguindo a risca o erro :/

    useEffect(() => {
        async function buscar(){
            const resultado = await buscaBarco();
            setBarco(resultado.content);
        }
        buscar();
    }, [estaNaTela])