component 의 도움으로 뷰 간 사용자 정의 탐색 기능이있는 데모 앱을 개발하면서 React Native의 가능성을 탐색 중 입니다.Navigator
기본 앱 클래스는 네비게이터를 렌더링하고 내부 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>
);
}
}
내가 알아 내고 싶은 것은 :
로그에서“go to 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
것은 탐색 막대 가없는 것과 비슷 하지만 (일부보기에는 자체 사용자 정의 탐색 막대가 있습니다).