【发布时间】:2017-09-04 16:12:58
【问题描述】:
我有一个使用 NavigatorIOS API 工作的 React Native 应用程序,并且正在尝试翻译相同的代码以使用 Navigator API。我的麻烦是在创建 NavigatorIOS 组件时,navigator 是隐式传递的,而在 Navigator 中,您必须调用 renderScene 并制作自己的 navigator prop。我不确定要通过什么导航器(我是创建一个还是什么?)。
该应用程序的结构是有 2 个选项卡:Book 和 Search,而 BookList 是另一个列出所有书籍条目的组件,因此当您按下其中一个时,它会将您带到 BookDetail。现在,按一本书会将我带到同一页面(BookList)。我认为这是因为路由中只有一页,但我不确定如何初始化路由和导航器。
这是我调用导航器将场景推送到 BookList 中的路线的地方:
showBookDetail(book) {
this.props.navigator.push({
title: book.volumeInfo.title,
component: BookDetail,
passProps: {book}
});
}
这是 NavigatorIOS 版本:
class Books extends React.Component {
render() {
return (
<NavigatorIOS
style={styles.container}
initialRoute={{
title: 'Featured Books',
component: BookList
}}/>
);
}
这是我的 Navigator 版本不工作:
class Books extends React.Component {
render() {
return (
<Navigator
style={styles.container}
initialRoute={{ title: 'Featured Books', index: 0}}
renderScene={(route, navigator) =>
<BookList title={route.title} navigator={navigator}/>
}
/>
);
}
【问题讨论】:
标签: android ios android-studio react-native