Fórum Problemas com setState() #600852
28/02/2019
0
Olá! Sou iniciante em react native e estou em um projeto construindo um app, mas estou com problemas com setState()
O meu método includingMed() é chamado nessa função
e a sua origem é um outro screen e sua programação é esta:
porém, a aplicação não me permite usar este último setState() me retornando o seguinte erro sem que eu consiga adicionar mais um item a uma FlatList :
"Can''t call setState() on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application."
Gostaria de saber se podem me ajudar!
Obrigado
O meu método includingMed() é chamado nessa função
addMed = () => {
if(!this.state.medName.trim() || !this.state.medTimes){
Alert.alert(''Dados inválidos!'',''Verifique se todos os campos estão preenchidos.'');
return
}
try {
this.setState({
newMed: this.state.newMed.push({
medName: this.state.medName,
medInitHour: this.state.medInitHour,
medTimes: this.state.medTimes
}),
medInitHour: null,
medTimes: null,
medName: ""
});
var include = new MedList();
include.includingMed(this.state.newMed);
this.setState({newMed: []});
ToastAndroid.show(''Medicamento Adicionado!'', ToastAndroid.SHORT);
}catch (ex){
ToastAndroid.show(''Falha ao adicionar. Erro: ''+ex, ToastAndroid.SHORT);
}
}
e a sua origem é um outro screen e sua programação é esta:
includingMed = newMed => {
const meds = [...this.state.meds];
meds.push({
id: Math.random(),
medName: newMed.medName,
medInitHour: newMed.medInit,
medTimes: newMed.medTimes
});
this.setState();
}
porém, a aplicação não me permite usar este último setState() me retornando o seguinte erro sem que eu consiga adicionar mais um item a uma FlatList :
"Can''t call setState() on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application."
Gostaria de saber se podem me ajudar!
Obrigado
Pablo Gabriel
Curtir tópico
+ 1
Responder
Post mais votado
07/03/2019
Olá Pablo, não sei se conseguiu resolver já, mas se sua intenção eh limpar o state então vc precisa passar um objeto com todos os campos do state vazios, exemplo:
const meds = { id: null .... }
this.setState(meds);
Rafael Bastiani
Responder
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)