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

ReactJS中如何在插值字符串插入变量生成动态Link链接

React中Link组件动态生成带参数的链接解决方案

你之前的两种写法都存在语法错误,以下是正确的实现方式:

错误原因分析

  • 第一种写法:把模板字符串嵌套在了单引号内,导致模板语法${itemId}被当作普通字符串解析,没有触发变量插值。
  • 第二种写法:将对象结构写成了字符串,然后试图把字符串作为对象传入to属性,这不符合React Router的参数要求,to需要接收一个对象而非字符串。

正确写法

写法1:直接使用模板字符串拼接搜索参数

直接用反引号包裹search的取值,正确插入变量:

<td><Link to={{pathname: '/select_item', search: `?item_id=${itemId}`}}>Select</Link></td>

写法2:提前构建完整的路径对象

先创建符合要求的对象,再传入to属性:

const linkProps = {
  pathname: '/approve_item1',
  search: `?walk_id=${item.id}`
};
<td><Link to={linkProps}>Select</Link></td>

写法3:使用URLSearchParams构建参数(推荐)

如果参数较多或需要处理编码问题,使用URLSearchParams更规范:

const searchParams = new URLSearchParams();
searchParams.set('item_id', itemId);

<td><Link to={{pathname: '/select_item', search: searchParams.toString()}}>Select</Link></td>

内容的提问来源于stack exchange,提问作者Graeme Burton

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:56:00