为什么可以在 React Native 中使用解构赋值?

why it possible to use destructuring assignment in React Native?

react native tutorial 的示例中,我发现在 ECMAScript 2015 (ES6) 标准中定义的称为解构赋值的语法。但据我所知,iojs 和 nodejs 不支持这种语法。我如何在 React Native 中使用它?

你是对的nodejs和iojs不支持ES6语法。但是本机反应:

As of version 0.5.0, React Native ships with the Babel JavaScript compiler.

Read more here

这意味着 另一个 转译器 (Babel) 在 React 打包器中工作。它从 ECMAScript 2015 (ES6) 转换为 ES5。这允许您使用 ES6 功能,例如:解构、计算 属性 键、类、箭头函数、块作用域变量等等。

如果您想在 React(而非 Native)应用程序中使用这些功能,您需要在您的项目中包含 Babel。


编辑:

没有另一个转译器。

React and React Native have both switched their respective build systems to make use of Babel. This replaced JSTransform, the source transformation tool that we wrote at Facebook.

更多内容在 Deprecating JSTransform and react-tools