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

React JSX自定义ESLint jsx-curly-spacing规则配置求助

解决JSX大括号间距的定制规则问题

你需要的是区分JSX属性内大括号和组件内容内大括号的差异化间距规则,当前全局配置无法满足这种细分需求,我们可以通过react/jsx-curly-spacing的精细配置来实现你的目标格式。

正确的ESLint配置

把现有规则替换成以下配置:

"react/jsx-curly-spacing": ["warn", {
  "attributes": { "when": "never" },
  "children": { "when": "always" },
  "spacing": {
    "objectLiterals": "always"
  }
}]

配置项逐一说明

  • attributes: { when: "never" }:针对JSX属性里的插值大括号,强制内部无空格,完美匹配你要的attr1={this.props.val1}格式;
  • children: { when: "always" }:针对组件内容里的插值大括号,强制内部保留空格,对应示例中的{ this.props.text };
  • spacing.objectLiterals: "always":确保对象字面量的大括号内部有空格(比如{ object: { key: value } }),同时结合属性的never规则,外层两个大括号会紧挨着,形成你需要的attr2={{ object: { key: value } }}效果。

最终效果验证

这个配置会让代码自动符合你的目标格式:

<Component 
  attr1={this.props.val1} 
  attr2={{ object: { key: value } }}
> 
  { this.props.text } 
</Component>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:53:49