Как использовать переменную (состояние) в строке URL в React? - PullRequest
0 голосов
/ 05 апреля 2019

вот мой исходный код

Проблема на самом деле с этими GET-запросами

    getModels = async () => {
    if (this.state.query_brand !== 0) {
         this.setState({ loading: "Fetching models..." });
         let brand = Number(this.state.query_brand);
         let targetURL = 
'https://parallelum.com.br/fipe/api/v1/carros/marcas/${brand}' + '/modelos/';  
           await axios.get(`${targetURL}`)
                    .then(res => this.setState({ models: res.data }))
                    .catch(err => console.log(err));
}};

Спасибо !! Я решил это следующим образом:

 let targetURL =
        "https://parallelum.com.br/fipe/api/v1/carros/marcas/" +
        brand +
        "/modelos/" +
        model +
        "/anos";
      console.log(targetURL);
      await axios
        .get(`${targetURL}`)...promises

1 Ответ

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

Проблема здесь:

let targetURL = 'https://parallelum.com.br/fipe/api/v1/carros/marcas/${brand}' + '/modelos/';

${brand} в этой строке является чистой строкой со значением = $ {бренд} , а не значением brand. Вы должны использовать шаблонный литерал в этой строке

let targetURL = `https://parallelum.com.br/fipe/api/v1/carros/marcas/${brand}/modelos/`;
...