当前位置:首页 > React

react字段中有横线如何取值

2026-01-25 13:30:30React

处理带横线的 React 字段取值

在 React 中,若字段名包含横线(如 user-name),直接通过点运算符(.)访问会报错,因为横线在 JavaScript 中被解析为减号。以下是几种解决方法:

使用方括号访问属性 通过对象方括号语法可以动态访问字段名:

const data = { 'user-name': 'Alice' };
const userName = data['user-name']; // 正确取值

转换为驼峰命名 若数据可控,建议后端返回驼峰命名字段(如 userName),或在前端转换:

const rawData = { 'user-name': 'Bob' };
const formattedData = {
  userName: rawData['user-name']
};

处理 API 响应数据 从 API 获取数据时,可在处理阶段统一转换字段名:

fetch('/api/user')
  .then(response => response.json())
  .then(data => ({
    userName: data['user-name']
  }));

TypeScript 类型定义 若使用 TypeScript,需通过字符串字面量类型定义带横线的字段:

interface User {
  'user-name': string;
}
const user: User = { 'user-name': 'Charlie' };
const name = user['user-name'];

注意事项

  • 方括号语法是直接解决方案,但长期维护建议统一命名规范。
  • 若字段名动态生成,需确保方括号内的表达式计算结果正确:
    const field = 'user-name';
    const value = data[field]; // 动态访问

react字段中有横线如何取值

标签: 横线中有
分享给朋友: