在新的React Native App.js中,@format是什么意思?

27

我开始在react native中创建一个应用程序,因此,我设置了react native环境并在第一次打开App.js文件时发现了其中的@format。请问有人能告诉我@format是什么以及为什么会出现在新的react nativeApp.js文件中吗?

3个回答

24

请参考评论中@Noitidart的链接,其中@format是pragma的一部分,另一个pragma是@prettier。当启用需要pragma选项时,Prettier仅对带有pragma的文件进行格式化。感谢@Noitidart提供的链接。


在查看react native repo中的App.js文件责任时,我找到了这个。

Prettier RN local-cli

我在RN 0.48.4功能中发现了这个描述 @TheSavior为@format(1023070)执行强制Prettier

总之,@format标签用于告诉prettier工具在该文件上运行,以便使其格式更加整洁漂亮。


1
这是正确的答案。请查看更多信息的 prettier 配置 "Require pragma" - https://prettier.io/docs/en/options.html#require-pragma - Noitidart

0

使用 npx react-native init YourNameProject 创建的演示代码(在此 指南 中找到)生成了此注释。

Prettier 的 文档 表示,注释 @format 与 Pragma 相关。

Prettier 可以限制自己仅格式化包含特殊注释(称为 Pragma)的文件。当逐步将大型未格式化的代码库转换为 Prettier 时,这非常有用。

Prettier 可以在文件顶部插入一个特殊的 @format 标记,指定该文件已使用 Prettier 进行格式化。


-8
它被称为装饰器。它只是一个函数,以它要装饰的内容作为参数:

@myFunction
class MyClass { }

等同于:
class MyClass { }
myFunction(MyClass)

使用装饰器可以通过在其周围包装一个函数(装饰器)来扩展函数(类或属性)。这对于使属性只读或抑制从函数发出的警告非常有用。

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


那么,你的意思是在@format的情况下,format是一个函数,它将App.js文件中的所有内容作为参数传递进去? - Stack Overflow
格式是以类为参数的高阶组件。您很可能会在导入格式的文件中找到App作为您的类。有关HOC的更多详细信息,请阅读以下链接:https://reactjs.org/docs/higher-order-components.html - nits
4
这显然、可以证明是错误的。任何阅读此回答的人,请跳过它。 - EnKrypt
这不是装饰器,请参见prettier.io/docs/en/options.html#require-pragma。 - Vasyl Nahuliak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接