Невозможно выполнить запрос на получение, используя состояние в качестве параметра запроса - PullRequest
0 голосов
/ 04 апреля 2019

Полное репо, содержащее этот компонент. РЕДАКТИРОВАТЬ: состояние уже обновляется (исправляется) после того, как я пытаюсь использовать этот запрос GET. Есть идеи? Спасибо.

getModels = async () => {
  this.setState({ loading: "Fetching models..." });
let brand = this.state.query_brand;
await axios.get(`https://parallelum.com.br/fipe/api/v1/carros/marcas/${brand}/modelos/`)
           .then(res => this.setState({ models: res.data }))

Я успешно вызвал эту функцию на своих функциях onChangeHandler.

  onChangeHandler = async (e) => {
this.setState({ [e.target.name]: e.target.value, target: e.target.name });
  this.getModels();
};

Я знаю, что onchangehandler жестко запрограммирован, поскольку теперь он обрабатывает только одно конкретное изменение (когда я хочу запросить модели), но я бы хотел сосредоточиться на основной проблеме. Заранее спасибо! С наилучшими пожеланиями.

1 Ответ

0 голосов
/ 04 апреля 2019

Я пытался запустить ваш код в codesandbox , и в вашем коде появляется строка 27, я думаю, что это причина вашей проблемы:

let brand = this.state.query_brand.toNumber();

Метод toNumber не существует. Вы можете использовать метод Number например: var stringToInteger = Number('10').

Статья на тему здесь

...