首页 > 解决方案 > 这些 Microsoft 文档在 JS 文件中包含 JSX 是否错误?

问题描述

在以下Microsoft 文档(以及许多其他文档)中,他们将有一个显式调用的文件,App.js但随后的代码如下:

    return (
    <>
        <h5 className="card-title">Welcome {name}</h5>
        {accessToken ? 
            <p>Access Token Acquired!</p>
            :
            <Button variant="secondary" onClick={RequestAccessToken}>Request Access Token</Button>
        }
    </>
);

这不是JSX吗?我注意到这已经做了很多,它开始让我对 JS 和 JSX 的不同之处感到困惑。

标签: javascriptreactjsjsx

解决方案


JSX vs JS在 AirBNB repo 中有一个很好的讨论: https ://github.com/airbnb/javascript/pull/985

本质上,尤其是在更大的 React 项目中,区分 .jsx 文件和 .js 文件可以归结为识别什么用作 React 组件,什么可能只是普通的 Javascript 逻辑。当涉及到读取 .jsx 和 .js 文件时,您无需担心扩展名是 .jsx 还是 .js - 它会正常运行。

所以是的,从技术上讲,扩展应该是.jsx,但最终没关系。


推荐阅读