Вставка пустого массива в состояние (массив userAnswer) для каждого заданного вопроса, чтобы я мог использовать эти массивы для отслеживания ответов пользователя - PullRequest
0 голосов
/ 19 февраля 2020

Вот что у меня есть.

AssignUserAnswerArray = () => {
        for (var i = 0; i < SurveyData.length; i++) {
            console.log("I am in the for loop assigning arrays")
            this.setState(prevstate => {
                let test = [...prevstate.userAnswers];
                test.push([]);
                return ({ userAnswers: test })

            })

        }   
    }

state = {
        userAnswers: [],
       currentQuestion: 0,
        //options: []
    }
let test = AssignUserAnswerArray();
console.log(test)

Вывод: 26 Я назначаю массивы для l oop

0

console.log повторяет правильное количество раз, я просто не толкаю пустой массив в состояние правильно. Когда вызывается AssignUserAnswerArray, он должен заставить userAnswers содержать столько пустых массивов, сколько для l oop итераций.

1 Ответ

0 голосов
/ 19 февраля 2020

Трудно понять, почему у вас это так:

for (var i = 0; i < SurveyData.length; i++) {
            console.log("I am in the for loop assigning arrays")
            this.setState(prevstate => {
                let test = [...prevstate.userAnswers];
                test.push([]);
                return ({ userAnswers: test })

            })

        } 

возможно что-то вроде:

this.setState(prevstate => {
    let test = [...prevstate.userAnswers];
    for (var i = 0; i < SurveyData.length; i++) {
       test.push([]);
    }
    return {
        userAnswers: test
    }; 
});

?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...