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?