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


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

Pablo Gabriel

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

Rafael Bastiani
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar