适用于 iOS 和 Android 的 React Native Router
Posted
技术标签:
【中文标题】适用于 iOS 和 Android 的 React Native Router【英文标题】:React Native Router for iOS and Android 【发布时间】:2016-01-04 18:13:22 【问题描述】:我正在为 android 和 ios 编写一个应用程序。我是 javascript/React native 等的真正菜鸟,我希望我的问题不是菜鸟...
我尝试在主视图上实现一个带有两个按钮的 LoginPage 和一个用于链接我的信息的 StatusBar 图标,例如,一个 Impressum 页面/视图。这适用于 iOS 上的 react-native-router 模块。我的 index.ios.js 看起来像这样:
class MyApp extends React.Component
render()
return (
<Router firstRoute=firstRoute
headerStyle=styles.statusBar
titleStyle=styles.title
backButtonComponent=BackButtonIcon
rightCorner=ImpressumIcon
/>
);
ImpressumIcon.js 用于链接到 ImpressumPage 的图标
var ImpressumIcon = React.createClass(
goToImpressumPage: function ()
this.props.toRoute(
name: 'Impressum',
component: ImpressumPage,
);
,
render()
return (
<TouchableHighlight underlayColor="transparent" onPress=this.goToImpressumPage>
<Image source=require('image!infoicon') style=styles.icon/>
</TouchableHighlight>
)
)
如前所述,这对 iOS 非常有用。现在尝试做同样的事情会给我一个例外 - null 不是对象(评估'StatusBarIOS.setStyle')
现在我追踪了错误,它把我带到了库 - node_modules-libraries-Components-StatusBar - 这里有两个类。 StatusBarIOS.ios.js 和 StatusBarIOS.android.js。 android只返回null。所以现在我想弄清楚下一步该做什么。 我应该尝试自己实现绑定还是有更简单的方法来解决我的问题?也许有人暗示我下一步该做什么。
我在 React Native API 中看到了 Navigator 组件,但不幸的是这给了我同样的错误...
【问题讨论】:
【参考方案1】:我实现了一个使用 WebView 登录到现有后端的 React Native Login 示例。检查一下,看看它是否能解决您的问题:https://github.com/ryanmcdermott/react-native-login
【讨论】:
【参考方案2】:这是因为 react-native-router 组件 - 最好的解决方案是从 /node_modules/react-native-router/index.js 文件中删除所有相关的代码行
【讨论】:
以上是关于适用于 iOS 和 Android 的 React Native Router的主要内容,如果未能解决你的问题,请参考以下文章
适用于 Android 和 iOS 的 React Native 中的警报功能
在使用适用于 iOS 和 Android 的 React Native 时,我还能使用原生第三方库吗?
使用 lottie-react-native (2.6.1) 时,React native expo 应用程序在 android 上崩溃,但适用于 ios