@format 在新的 react native App.js 中是啥意思?

Posted

技术标签:

【中文标题】@format 在新的 react native App.js 中是啥意思?【英文标题】:What does @format mean in new react native App.js?@format 在新的 react native App.js 中是什么意思? 【发布时间】:2019-04-16 05:27:44 【问题描述】:

我开始在react native 中创建一个应用程序,因此,我设置了react native 环境,并在我第一次打开此文件时在App.js 文件中找到了@format。请谁能告诉我@format 是什么以及为什么它在react native 的新App.js 文件中?

【问题讨论】:

【参考方案1】:

请参阅评论中的@Noitidart 链接,@format 是pragma 的一部分,另一个pragma 是@prettier。当 Require pragma 选项启用时,Prettier 只会使用 pragma 格式化这些文件。感谢@Noitidart 提供链接。


我在 react native repo 中检查 App.js 文件的责备后发现了这个。

Prettier RN local-cli

我在 RN 0.48.4 features 中找到了这个描述 Enforce Prettier for @format (1023070) - @TheSavior

作为结论,@format 标签用于告诉更漂亮的工具在该文件上运行,以便它的格式变得更漂亮。

【讨论】:

这是正确答案。有关更多信息,请参阅更漂亮的配置“需要编译指示” - prettier.io/docs/en/options.html#require-pragma【参考方案2】:

它被称为装饰器。它只是一个将它所装饰的内容作为参数的函数:

@myFunction 类 MyClass

相当于: 类 MyClass myFunction(MyClass)

使用装饰器允许我们通过在函数(类或属性)周围包装一个函数(装饰器)来扩展它。这对于将属性设置为只读或禁止来自函数的警告很有用。

参考: https://moduscreate.com/blog/using-es2016-decorators-in-react-native/

【讨论】:

那么,您的意思是在@format 的情况下,format 是将App.js 文件中的所有内容作为参数的函数? 格式是高阶组件,它以类作为参数。您很可能会发现一个文件,从该文件中导入格式并且 App 是您的类。有关 HOC 的更多详细信息,请阅读链接:reactjs.org/docs/higher-order-components.html 这显然是错误的。任何阅读此内容的人,请继续阅读此答案。 不是装饰器,见 prettier.io/docs/en/options.html#require-pragma

以上是关于@format 在新的 react native App.js 中是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

React Native FlatList 可触摸不透明度

在生产模式下运行 expo android 应用程序时出错 - React-native

在 Macbook M1 上的 Xcode 12.4 中构建后,在 iOS 上的 React Native 中找不到 YogaKit.modulemap

不要在新的 Instagram url-api 上为位置 (?__a=1) (native_location_data) 工作分页

在 App Store 中初始化新的 react native 项目并替换为当前的 react native 项目

无法在新的 Xcode 版本 13 上运行 React 本机 IOS 应用程序