为了账号安全,请及时绑定邮箱和手机立即绑定

根据 ReactJS 中的值更改 axios get url

根据 ReactJS 中的值更改 axios get url

江户川乱折腾 2021-12-23 19:38:03
这是我的第一个 React 应用程序,我正在尝试使用 axios 获取 API。可以根据值更改 URL。我的代码是fetchURL(page,checked) {  if(checked)  {     const apiUrl = 'firstApiURL'  }  else {     const apiUrl = 'secondApiURL';  }   axios.get(apiUrl)......}它说 apiUrl 未定义。我认为根据另一个变量更改 API url 会很容易。任何帮助都受到高度赞赏。
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

常量的作用域是它们声明的块(在分别与 和关联的和之间,{并且在该范围之外不可访问。}ifelse


在块外定义一个变量并使用它。


fetchURL(page,checked) {

  let apiUrl;

  if(checked)

  {

    apiUrl = 'firstApiURL'

  }

  else {

    apiUrl = 'secondApiURL';

  }

   axios.get(apiUrl)......

}

然后,您可以使用默认值而不是else.


fetchURL(page,checked) {

  let apiUrl = 'secondApiURL';

  if(checked)

  {

    apiUrl = 'firstApiURL'

  }

  axios.get(apiUrl)......

}

或者进一步简化并仍然使用 const


fetchURL(page, checked) {

  const apiUrl = checked ? 'firstApiURL' : 'secondApiURL';

  axios.get(apiUrl);

}


查看完整回答
反对 回复 2021-12-23
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

在您的代码中,const它们在块范围内定义,{}因此它们在外部未定义。


使用let以便您可以分配给它,并在if/之外声明它else


let apiUrl;

if (checked) {

  apiUrl = 'firstApiURL'

} else {

  apiUrl = 'secondApiURL';

}

axios.get(apiUrl)......

}

有关块语句和范围的更多信息,请阅读https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/statements/block


查看完整回答
反对 回复 2021-12-23
?
烙印99

TA贡献1829条经验 获得超13个赞

const关键字 create 常量仅存在于创建它们的块中(let而const单词创建块范围变量)。


if() { }和else { }是我们创建的块apiUrl,并且 ``apiUrl 不存在于它们之外。


你可以写let变量外if和else,然后写信给它一定的价值。例如:


fetchURL(page,checked) {

  let apiUrl;

  if(checked)

  {

     apiUrl = 'firstApiURL'

  }

  else {

     apiUrl = 'secondApiURL';

  }

   axios.get(apiUrl)......

}


查看完整回答
反对 回复 2021-12-23
  • 3 回答
  • 0 关注
  • 221 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号