Функциональный вызов приводит к тому, что функция SetState стала неопределенной еще до того, как ее называют [дублироватJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Функциональный вызов приводит к тому, что функция SetState стала неопределенной еще до того, как ее называют [дублироват

Сообщение Anonymous »

У меня есть функция, которая вызывает другую функцию для проверки высоты: < /p>

Код: Выделить всё

const validateHeight= async () => {
const {currentFormData} = cloneDeep(state);
let validHeight;
//heightValidationLogic here, also includes API calls
if(validHeight){
return [true, max_height];
}
else {
return [false, 0];
}
const peculiarFunction = async () => { //This is the main function
let isvalidHeight = true;
let maxHeight = 0;
const {currentFormData} = cloneDeep(state);
if(currentFormData.map){ //checks if the map property is true
setState({...state, isLoading:'hasMap'})
[isValidHeight,maxHeight] = await validateHeight(); //Here, the other function is called
//Other height based logic
setState({...state, isLoading:''})
}
//Code to continue with form submission or show to error for invalid height
};
Проблема: SetState ({... состояние, iSloading: 'hasmap'}) line до вызов функции возвращает ошибки setState (...) не определяется , а p -persiar behip max_height} , а не в качестве массива, который должен быть разрушен, ошибка исчезает. Как вызов функции вызывает ошибку в строке еще до того, как она будет вызвана? Я добавил попробовать - оператор в специфической функции и медленно ограничивал количество строк в ней, чтобы увидеть, является ли это проблемой с асинхронными операциями и что ошибка возникает где -то еще. До тех пор, пока оба функция setState () и функция validateHeight () находится в одном блоке/сфере, возникает ошибка. В тот момент, когда любой из них больше не находится в одной и той же попытке - оператор, ошибка исчезает, сейчас все работает. операторы.
Я понимаю, что у меня есть альтернатива возврата ответа в качестве объекта и буду двигаться вперед с ним, но я хочу понять это странное поведение и найти ответ для него.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -is-even-c
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»