Estoy explorando las posibilidades de React Native mientras desarrollo una aplicación de demostración con navegación personalizada entre vistas con la ayuda del Navigator
componente .
La clase de aplicación principal representa el navegador y el interior renderScene
devuelve el componente pasado:
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 });
}
}}
/>
);
}
}
Por ahora, la aplicación contiene dos vistas:
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>
);
}
}
Lo que quiero averiguar es:
Veo en los registros que al presionar "ir a alimentar" renderScene
se llama varias veces, aunque la vista se muestra correctamente una vez. ¿Es así como funciona la animación?
index.ios.js:57 Object {name: 'WelcomeView', component: function}
index.ios.js:57 Object {name: 'FeedView', component: function}
// renders Feed View
Por lo general, ¿mi enfoque se ajusta a la forma de React o se puede hacer mejor?
Lo que quiero lograr es algo similar NavigatorIOS
pero sin la barra de navegación (sin embargo, algunas vistas tendrán su propia barra de navegación personalizada).