react-native-simple-survey icon indicating copy to clipboard operation
react-native-simple-survey copied to clipboard

Changing the state of the survey not working/ new questions not appearing

Open sanchocreativo opened this issue 4 years ago • 1 comments

Based on answer submitted, I tryed to concat the previous state of the survey with a new array of questions and the new questions are not appearing.

State:

  constructor(props) {
        super(props);
        this.state = { 
            backgroundColor: PURPLE, 
            answersSoFar: '', 
            countryState: '',
            survey: [
                {
                    questionType: 'SelectionGroup',
                    questionText:
                        '¿Como te encuentras de estado de salud? ',
                    questionId: 'radiopais',
                    questionSettings: {
                        allowDeselect: false,
                    },
                    options: [
                        {
                            optionText: 'Bien 💚',
                            value: 'si'
                        },
                        {
                            optionText: 'Mal 🔴',
                            value: 'no'
                        },
                       
                    ]
                },

...continues...

  onAnswerSubmitted(answer) {
        this.setState({ answersSoFar: this.surveyRef.getAnswers() });
        switch (answer.questionId) {
            case 'radiopais': {
                if (answer.value == 'si') {
                    this.setState({ 
                        survey: [...this.state.survey, ...countryQe]
                    });               
                }
                break;
            }
            default:
                break;
        }

    }

sanchocreativo avatar Mar 18 '20 14:03 sanchocreativo

onAnswerSubmitted(answer) { this.setState({ answersSoFar: this.surveyRef.getAnswers() }); switch (answer.questionId) { case 'radiopais': { if (answer.value.value == 'si') { this.setState({ survey: [...this.state.survey, ...countryQe] });
} break; } default: break; }

}

I am sorry it was my mistake. It was if(answer.value.value). However when last question is set it doesnt send an onAnswerSubmitted so the new question is not rendered. So the issue remains opened regardless.

sanchocreativo avatar Mar 18 '20 16:03 sanchocreativo