React-Native-Web 与 ReactJS

Fra*_*nva 10 reactjs react-native react-native-web

刚好看到 React-Native-Web(RNW) ,我的想法是什么?为什么我们需要另一个 React for Web 版本?我们已经有了 ReactJS(RJS)。

所以我去了它的网站,看到文档说它允许你通过使用 React DOM、高质量等来使用 Native 组件。

我仍然不太清楚使用 RNW 的区别和好处。

有人可以用一些具体的例子和性能数据等启发我吗?

我知道 Twitter 和其他一些应用程序正在使用它,但仅仅告诉我“Twitter 正在使用它”已经足够好,但不足以说明差异。

小智 11

老实说,使用 react-native-web 的理由有点审美,举个例子:

React Native 是一种纯 UI 语言。它定义了一些定义 UI 基元的基本组件,这些组件被认为独立于运行它们的平台。我们可以在 React Native 中创建的所有组件都基于诸如 View、Text 或 Image 之类的基元,它们是对任何可视化界面都有意义的基本元素,无论它在哪里运行。

另一方面,React 的原语只是 DOM 节点?—?HTML 标签,如 div、p 或 a,它们不是纯 UI。它们不是为了定义视觉语言而创建的;相反,它们旨在构建和理解超文本。React 的原语具有超越界面的意义,而这种意义在浏览器之外没有多大意义。

这是取自here。我开发了 ReactJs 和 RN 应用程序和网站,我能看到的唯一真正的好处是统一的编码语言。由于我从 RN 开始,然后在我的简历中添加了 ReactJS,我发现在 ReactJs 中找到等效的 RN 组件很痛苦,哦我应该使用 p 和 span 而不是 Text?,哦拍它是'输入类型="text"' 不是 'TextInput' 等等。我想你明白我的意思。对于进入 RN 世界的 React 开发人员来说,可能也是如此。但它也有它的缺点,不幸的是,使用 react-native-web 需要一些麻烦,你必须为此准备你的项目。

谢谢你的解释。您能否更具体一些,并为“一些麻烦”提供更多详细信息或示例?谢谢!

例如React-Native(和它的一些库)是基于Promise框架的,这不是普通的JS,或者Object.assign被添加到ES6,为了使用它们你必须修改webpack.config.js和.bael-rc文件在这些文件中添加多行。如果您使用其他辅助工具,如 Flow 或 Jest 等,它们也必须进行配置。它确实会在开始时减慢您的速度,但如果您花时间进行设置,从长远来看是值得的。