关于React组件的更多澄清

17 浏览
0 Comments

关于React组件的更多澄清

我想了解它们之间的技术差异,以确定应该使用哪一个。

我意识到它们两者可以拥有相同的内容,并且在一些项目中有时可以互换使用。

.jsx文件与.js文件有什么区别?

0
0 Comments

在React中,使用JSX来编写组件是很常见的。然而,最近一些变化导致了一些问题和困惑。首先,JSX编译器工具已被移除,因为JSXTransformer已被弃用。React团队建议使用其他工具,如Babel REPL来代替。

如果你希望保留JSX源码以便更好地维护,可以将它们保存为.jsx文件。使用JSX编译器,可以手动或通过构建脚本将JSX语法转换为普通的JavaScript文件。需要注意的是,在生产环境中提供JSX文件是可能的,但是React会给出有关性能降低的警告。

对于这个问题,个人建议使用类似gulp-jsx或gulp-reactify的工具来转换文件。下面是使用gulp-jsx的示例代码:

var gulp = require('gulp');
var jsx  = require('gulp-jsx');
gulp.task('build', function() {
  return gulp.src('path/to/*.jsx')
    .pipe(jsx())
    .pipe(gulp.dest('dist'));
});

除此之外,还可以参考Paul和Sebastian关于.js文件与.jsx文件的选择的讨论。Airbnb也提到了他们的命名约定。

我个人建议将React组件保存为.jsx文件,这样可以更好地描述文件内部的内容。虽然最终会编译为JavaScript,但使用适当的文件扩展名来描述文件内部的内容是更好的约定。

以上内容是否真正回答了.max和.js文件之间的区别的问题呢?

0
0 Comments

问题的原因是对于React组件,有时候会出现混淆,不知道是使用.js文件还是.jsx文件来编写组件。这就产生了对于React组件的.js和.jsx文件扩展名的疑问。

解决方法是给JSX文件添加.jsx扩展名,这样可以清楚地表明这是一个JSX文件,而不是纯粹的JavaScript文件或HTML文件。这样做有助于提醒开发者在编写代码时使用正确的语法和规范。

以下是一个讨论链接,可以进一步了解这个问题:ReactJS - .JS vs .JSX

0