【发布时间】:2015-06-02 20:06:15
【问题描述】:
我正在探索React Native 的可能性,同时在Navigator component 的帮助下开发具有自定义视图之间导航的演示应用程序。
主应用类渲染导航器,内部renderScene返回传递的组件:
class App extends React.Component {
render() {
return (
<Navigator
initialRoute={{name: 'WelcomeView', component: WelcomeView}}
configureScene={() => {
return Navigator.SceneConfigs.FloatFromRight;
}}
renderScene={(route, navigator) => {
// count the number of func calls
console.log(route, navigator);
if (route.component) {
return React.createElement(route.component, { navigator });
}
}}
/>
);
}
}
目前应用包含两个视图:
class FeedView extends React.Component {
render() {
return (
<View style={styles.container}>
<Text>
Feed View!
</Text>
</View>
);
}
}
class WelcomeView extends React.Component {
onPressFeed() {
this.props.navigator.push({
name: 'FeedView',
component: FeedView
});
}
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome View!
</Text>
<Text onPress={this.onPressFeed.bind(this)}>
Go to feed!
</Text>
</View>
);
}
}
我想弄清楚的是:
-
我在日志中看到,当按“转到 feed”时,
renderScene被调用了多次,尽管视图一次正确呈现。动画是这样的吗?index.ios.js:57 Object {name: 'WelcomeView', component: function} index.ios.js:57 Object {name: 'FeedView', component: function} // renders Feed View 一般来说我的方法符合 React 的方式,还是可以做得更好?
我想要实现的是类似于NavigatorIOS 但没有导航栏(但是有些视图会有自己的自定义导航栏)。
【问题讨论】:
-
@ericvicenti 此示例应包含在文档中的Navigator page 中。它更完整,更好地说明了如何在上下文中使用 Navigator 组件。
-
只是尝试您的示例,当导航器推送发生时场景是否应该自动更改?对我来说,您的示例从未显示提要视图!文本,所以我想知道最近的版本是否有所改变。
标签: javascript ios navigation reactjs react-native