Problemas com setState()
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
Clique aqui para fazer login e interagir na Comunidade :)