You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React函数中使用大括号无法替换URL的id参数,如何解决?

解决URL中动态插入id变量的问题

你遇到的问题核心在于:普通字符串里的{id}只是普通文本,JavaScript不会自动把它解析成变量占位符,所以没法替换成实际传入的id数值。这里给你两种常用的解决方法,都能生成你想要的目标URL:

方法1:使用ES6模板字符串(推荐)

模板字符串用反引号()包裹,变量通过${变量名}`的语法插入,写法简洁直观,是现在最常用的动态字符串拼接方式:

submitRating(rate, id) { 
  this.setState({ rating: rate }); 
  console.log(this.state.rating); 
  console.log(id);
  // 改用模板字符串,用${id}插入变量
  const url = `https://oversight-ws.herokuapp.com/api/politicians/${id}/rating`;
  console.log(url); // 现在会输出:https://oversight-ws.herokuapp.com/api/politicians/3499583/rating
  return;
}

方法2:传统字符串拼接

如果你的运行环境不支持ES6语法,也可以用加号(+)直接拼接字符串:

submitRating(rate, id) { 
  this.setState({ rating: rate }); 
  console.log(this.state.rating); 
  console.log(id);
  const url = "https://oversight-ws.herokuapp.com/api/politicians/" + id + "/rating";
  console.log(url); // 同样能得到包含具体id的目标URL
  return;
}

两种方法都能解决你的问题,优先推荐模板字符串,尤其是当需要插入多个变量时,它的可读性会比字符串拼接好很多。

内容的提问来源于stack exchange,提问作者Prince Abalogu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:32:38