使用 Navigator 将 React Native 应用程序转换为 Web

Posted

技术标签:

【中文标题】使用 Navigator 将 React Native 应用程序转换为 Web【英文标题】:Convert react native app to web using Navigator 【发布时间】:2017-05-16 13:56:20 【问题描述】:

我使用 react-native-web 将 React Native 应用程序转换为 Web 应用程序,但是转换 Navigator 时出现问题。有谁知道如何转换它或用熟悉的东西替换它,以便我可以在我的网络应用程序上使用它?

【问题讨论】:

我想你可以在这里找到有关问题的信息github.com/necolas/react-native-web/issues/29 我看到了那个页面,但是那里的所有链接都失效了。 github.com/rhinos-app/rhinos-app-dev ? 【参考方案1】:

我们发现唯一能在所有三个平台上提供单一导航界面的是React-Navigation。否则,您正在考虑将一个路由器用于网络,另一个用于本机。可能,但非常次优。

缺点是要支持所有三个平台,您必须从最低公分母开始工作,这是创建命令式导航堆栈的本机风格。如果您习惯于 react-router 或 Angular 路由器,您将不会喜欢它。而且...它仍然是一个早期项目,在 docs、api 等方面存在一些差距。另一方面,它落后于 React-Native 的backed by some central players,并且正在快速推进。它有效。

【讨论】:

React Navigator 的维护者表示 react-navigation 不适用于 react-native-web。有些人已经让它起作用了,但只是部分地使用了黑魔法。 你在点 @raarts,但我不会完全称之为“黑魔法”。您只需创建自己的绑定即可统一 React-Native 和 Web 的根级抽象。这需要对底层 API 和数据类型有比某些人可能想要获得的更深入的了解,但比在同一个应用程序中维护两个独立的导航堆栈要少得多。希望图书馆能填补这一空白,但我不能说我们喜欢自己的模式足以将它们强加给其他人。 :-) 另外,我仍然希望 R-N 自己能够接受它。 仅供参考,我目前正在与 React Navigation(和 Expo)人员合作,以添加对 react-native-web 的支持。

以上是关于使用 Navigator 将 React Native 应用程序转换为 Web的主要内容,如果未能解决你的问题,请参考以下文章

React Native Navigation - 将Stack Navigator的navigationOptions放在Bottom Tab Navigator中

SyntaxError - node_modules/react-native/Libraries/polyfills/error-guard.js:缺少分号。 (14:4) 在 react nati

React Native Navigation - 将 Stack Navigator 的 navigationOptions 放入 Bottom Tab Navigator

使用 navigator.geolocation.watchPosition 时 React 中的无限循环

不应该渲染的 React Native Navigator 屏幕

使用带有Stack Navigator的React Native Navigation将数据从屏幕传递到其他屏幕