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

如何在VS Code中一行生成React Router DOM多动态路由<Link>元素

解决VS Code中Emmet生成React Router Link的格式问题

正确的Emmet代码

直接在VS Code中输入以下代码,按Tab键即可生成符合预期的内容:

Link*5[to={`\${ROUTES.CARS}/$`}]{Car $}

代码解析

  • Link*5:生成5个<Link>标签
  • [to={${ROUTES.CARS}/$}]:
    • 用\$转义模板字符串里的$,避免Emmet将其识别为序号计数器,保留${ROUTES.CARS}的完整结构
    • 末尾的$作为Emmet的序号变量,自动生成1-5的数字
  • {Car $}:将Car 1到Car 5作为<Link>标签的内部文本,而非生成单独的<Car>标签

生成结果

执行后会得到你期望的格式:

<Link to={`${ROUTES.CARS}/1`}>Car 1</Link>
<Link to={`${ROUTES.CARS}/2`}>Car 2</Link>
<Link to={`${ROUTES.CARS}/3`}>Car 3</Link>
<Link to={`${ROUTES.CARS}/4`}>Car 4</Link>
<Link to={`${ROUTES.CARS}/5`}>Car 5</Link>

原写法的问题

  1. 属性中的${ROUTES.CARS}没有转义$,Emmet把$当成序号标记解析,导致最终变成ROUTES.CARS
  2. Car{$}的写法不符合Emmet语法,Emmet会将其解析为生成<Car>标签包裹序号,而非作为<Link>的内部文本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:52:20