我如何说服babel让我定义一个常量的Javascript数组?

2cmtqfgy  于 2022-12-16  发布在  Babel
关注(0)|答案(1)|浏览(140)

我正在构建我的第一个expo/react应用程序,在App.js中不断收到“Unexpected token”错误消息:

export default class App extends React.Component {
   const [message, setMessage] = useState("...");

该误差在以const开始的行的[中。
据我所知,这是一个巴别塔的问题:通过将@babel/preset-env添加到babel.config.js,在ES 2015. AFAICS,this should be resolvable中引入了此语法,因此:

module.exports = function(api) {
  api.cache(true);
  return {
      presets: [
          '@babel/react',
          '@babel/env',
      ],
      plugins: [
          '@babel/proposal-class-properties',
      ],
  };
};

绑定成功,但错误仍然存在!我错过了什么?

js4nwp54

js4nwp541#

这个错误并不是因为你试图使用数组反结构化,而是因为你是在一个类的主体内(在那里你只能声明属性)。
React钩子只与函数组件兼容。你不能在类组件中使用它们。
因此,您需要使用功能组件语法。

const App = () => {
   const [message, setMessage] = useState("...");
   // ...
}

export default App;

进一步阅读:

相关问题