javascript - 无法在 React Js(Babel) 中使用连字符 “-” 访问 JSON 属性

标签 javascript reactjs babeljs

我正在构建一个小型 React 组件(使用 Babel 编译)。我必须访问名称中带有破折号的属性。

this.setState({
  newArtist: {
    birthdate: artist.life-span.begin
  }
});

此代码抛出错误Uncaught ReferenceError: span is not defined

经过一些研究,我发现我需要使用括号来替代表示法。 ['生命周期']

this.setState({
  newArtist: {
    birthdate: artist['life-span']begin
  }
});

但是这个让 Babel 抛出一个语法错误。

bundle.js:1 SyntaxError:/file/path: Unexpected token, expected , (24:38) while parsing file

所以我被困在这里了。

我的 babel 配置很简单,只使用了 es2015 和 react 预设。

知道它可能是什么吗?

最佳答案

birthdate: artist['life-span'].begin

而不是生日:艺术家['life-span']开始

关于javascript - 无法在 React Js(Babel) 中使用连字符 “-” 访问 JSON 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40678800/

相关文章:

javascript - Vue - 为什么有些图像在生产中获得哈希值,而其他图像则没有?

javascript - 标识符 "aa_bb"不是驼峰式

javascript - 我应该使用哪些 Babel 预设?

node.js - 如何在 webpack 中同时使用 ES6 加载器和 brfs 转换?

babeljs - 我可以防止Babel遍历插件插入的代码吗?

javascript - 尝试使用 React.js 中的 map 访问特定 JSON 数据时出现问题

javascript - 如何获取客户端在地址栏输入的地址

reactjs - 如何避免 react 日期选择器日历在上一个文本框的选项卡按键上打开

javascript - Next.js : Refresh page after modifying a file, 无需重新运行 'npm run'

javascript - 为什么在这个简单的 React 组件中,使用人为使用的 bind 未定义 this.state ?