当前位置: 首页 > 知识库问答 >
问题:

ReactJS-.JS vs.JSX

濮阳耀
2023-03-14

React.js中工作时,我发现有些东西非常令人困惑。

互联网上有很多示例使用.js文件和React文件,但其他许多示例使用.jsx文件。

我读过关于JSX文件的文章,我的理解是它们只是让你在你的JavaScript中编写超文本标记语言标记。但是同样的事情也可以写在JS文件中。

那么.js.jsx之间的实际区别是什么呢?

共有3个答案

周洋
2023-03-14

JSX标记(

按照惯例,React应用程序的切入点通常是. js而不是. jsx,即使它包含React组件。它也可以是. jsx。任何其他JSX文件通常具有. jsx扩展名。

在任何情况下,存在歧义的原因是因为最终扩展并不重要,因为转发器很乐意咀嚼任何类型的文件,只要它们实际上是JSX。

我的建议是:别担心。

微生毅
2023-03-14

在大多数情况下,只需要转发器/bundler,它可能不被配置为使用JSX文件,而是使用JS!因此,您被迫使用JS文件而不是JSX。

而且,由于反应只是javascript的一个库,所以你可以在JSX或JS之间进行选择。它们完全可以互换!

在某些情况下,由于代码高亮显示,用户/开发人员可能会选择JSX而不是JS,但大多数较新的编辑器也会在JS文件中正确查看react语法。

丌官寒
2023-03-14

在文件扩展名方面没有。您的bundler/transpiler/whatever负责解析文件内容的类型。

但是,在决定将什么放入.js.jsx文件类型时,还有一些其他考虑因素。由于JSX不是标准的JavaScript,有人可能会争辩说,任何不是“普通”JavaScript的东西都应该进入它自己的扩展,例如,JSX的.JSX,TypeScript的.ts

这里有一个很好的讨论供阅读

 类似资料:
  • React(有时叫React.js或ReactJS)是 Facebook 推出的一个为数据提供渲染为 HTML 视图,用来构建用户界面的开源 JavaScript 库。 React 视图通常采用包含以自定义 HTML 标记规定的其他组件的组件渲染。React 为程序员提供了一种子组件不能直接影响外层组件("data flows down")的模型,数据改变时对 HTML 文档的有效更新,和现代单页

  • Reactjs-Pagination是一个React的本地分页组件,支持页码、跳转、和迷你模式。文档 安装 npm install --save reactjs-pagination 使用示例代码: import React, { Component } from 'react';import { Pagination }from 'reactjs-pagination'; class Test 

  • 问题内容: 我正在研究一个示例reactjs应用程序(在学习过程中)。我有一个页面,其中列出了用户列表和一个添加按钮以添加新用户。 当我单击添加按钮时,我应该导航到用户表单以创建新用户。 在用户表单中单击“提交”按钮后,它应导航回到第一页,在该页面中应列出用户列表以及新用户。 如何在页面之间导航做出反应? 问题答案: 您可以使用React Router来完成。这是React Router教程。 用

  • 我正在开发一个典型的传统JAVA Spring+JSP应用程序。这是一个完整的工作应用程序,有50多页。客户机觉得它的速度较慢,并希望通过对新页面使用ReactJs来使其更快。从表现的角度来看,我理解他的担忧。现在,我不是JAVA专家,也不熟悉ReactJS,但我以前广泛研究过AngularJs(SPA)应用程序。 现在,应用程序的工作方式是,当我们调用url(如http://example.co

  • 我刚刚开始学习react中的授权和身份验证,我在使用JWT完成我的第一个简单登录系统后写这篇文章,正如大多数人所知,您将一个令牌存储在浏览器中,然后将其与后端保存的令牌进行比较。现在,当验证真正完成时,我将设置为,并访问网站,完成这个简单的系统后,我检查了react-dev工具,发现我可以将

  • 我正在研究ReactJS SPA。我试图从我的React SPA中找到可用于OAuth2的库,以获得授权代码。我尝试使用auth0库,但是auth0库只重定向到/authorizeendpoint,并且没有办法配置它。我们公司的认证服务器的授权endpoint是/as/authorization。有人可以请帮助哪个反应库可以使用?