Функция useRef не работает внутри системы axios

#javascript #typescript #next.js

Вопрос:

Я хочу создать динамические входные данные для входа в систему OTP. но мой useRef не создан.

  //axios
  api.post('auth/login', { mobile:_mobile}).then((res: any) => {
   for(var i = 0 ; i < res.digits ;   i){
     inputs.push(i)
   }
   console.log("inputs",inputs)
   inputRef = inputs.map(x => useRef(null));
   console.log("inputRef",inputRef) //it doesn't called
   
   var now = new Date();
   now.setMinutes(now.getMinutes()   ( parseInt(res.expired_at)/60));
   setExpiredAt(now.getTime())
   showLoading(false);
   toggleVerification(true);
 }).catch(() => {
   showLoading(false)
 })
 

это не называется:

  console.log("inputRef",inputRef)
 

Комментарии:

1. К сожалению, это совершенно неправильное использование useRef — вы не можете использовать крючки в обработчике, и вы не можете зацикливать их таким образом. Какова ваша конечная цель здесь?

2. номер моего ввода с сервера. (входные данные являются динамическими). как справиться с этим сенарио?

3. Как бы вы справились с чем — либо динамическим-с массивом и вызовом карты.

4. «количество моих входных данных, поступающих с сервера» — Значит, вы хотите подсчитать количество входных данных, которые вы получаете от вызова API? На самом деле не совсем ясно, чего вы пытаетесь достичь.