老实说,使用 react-native-web 的理由有点审美,举个例子:
React Native 是一种纯 UI 语言。它定义了一些定义 UI 原语的基本组件,这些组件被认为独立于运行它们的平台。我们可以在 React Native 中创建的所有组件都基于 View、Text 或 Image 等基本元素,这些基本元素对任何视觉界面都有意义,无论它在哪里运行。
另一方面,React 的原语只是 DOM 节点——像 div、p 或 a 这样的 HTML 标签,它们不是纯 UI。它们不是为了定义视觉语言而创建的;相反,它们旨在构建和理解超文本。React 的原语具有超越界面的意义,而这种意义在浏览器之外没有多大意义。
取自这里。我开发了 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 等,它们也必须进行配置。它肯定会在开始时减慢您的速度,但如果您花时间进行设置,从长远来看它是值得的。