新手,Navigator 的 renderScene 函数传入navigator 在另外一个index.js文件中没有接收到?



  • 新手,Navigator 的 renderScene 函数传入navigator 在另外一个index.js文件中没有接收到?

    • index.ios.js
    import React, { Component } from 'react';
    import Index from './pages/Index';
    import {
      AppRegistry,
      StyleSheet,
      Text,
      View,
      Navigator,
    } from 'react-native';
    
    class xiechengdemo extends Component {
    
      renderScene(route, navigator) {
    
        var Component = route.component;
                if(route.component) {
                  return <Component {...route.params} navigator={navigator} />
                }
    
      }
    
    
      render() {
        return (
        <Navigator
                initialRoute={{ name: 'FirstPage', component: Index }}
                configureScene={(route) => {
                  return Navigator.SceneConfigs.HorizontalSwipeJump;
                }}
                renderScene={this.renderScene}
              />
    
    
    
    
    *  Index.js
    
    
    
    class Index extends Component {
    
      constructor(props) {
       super(props);
       this.state = { };
       
       }
    
       _onPressButton() {
          const { navigator } = this.props;
          if(navigator)
          {
            navigator.push({
                component:Detail,
                  title:'邮轮详情',
                  rightButtonTitle:'购物车',
                  onRightButtonPress:function(){
                      alert('进入我的购物车');
                  }
            })
          
          }
      }
    
      render() {
        return (
          <ScrollView>
            <View style = {styles.container}>
              <Slider/>
    
    
            <View style={[styles.sbu_red, styles.sbu_view]}>
              <TouchableHighlight underlayColor={'#FA6778'} style={{flex:1}} onPress={this._onPressButton}>
                <View style={[styles.sbu_flex, styles.sbu_borderRight]}>
                  <View style={[styles.sub_con_flex, styles.sub_text]}>
                    <Text style={[styles.font16]}>酒店</Text>
                  </View>
                  <View style={[styles.sub_con_flex]}>
                    <Image style={[styles.sbu_icon_img]} source={{uri:BUIcon[0]}}></Image>
                  </View>
                </View>
              </TouchableHighlight>
              <View style={[styles.sbu_flex, styles.sbu_borderRight]}>
                <View style={[styles.sub_con_flex, styles.sub_text, styles.sbu_borderBottom]}>
                  <Text style={[styles.font16]}>海外</Text>
                </View>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>周边</Text>
                </View>
              </View>
              <View style={[styles.sbu_flex]}>
                <View style={[styles.sub_con_flex, styles.sub_text, styles.sbu_borderBottom]}>
                  <Text style={[styles.font16]}>团购.特惠</Text>
                </View>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>客栈.公寓</Text>
                </View>
              </View>
            </View>
    
            <View style={[styles.sbu_view, styles.sbu_blue]}>
              <View style={[styles.sbu_flex, styles.sbu_borderRight]}>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>机票</Text>
                </View>
                <View style={[styles.sub_con_flex]}>
                  <Image style={[styles.sbu_icon_img]} source={{uri:BUIcon[1]}}></Image>
                </View>
              </View>
              <View style={[styles.sbu_flex, styles.sbu_borderRight]}>
                <View style={[styles.sub_con_flex, styles.sub_text, styles.sbu_borderBottom]}>
                  <Text style={[styles.font16]}>火车票</Text>
                </View>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>接收机</Text>
                </View>
              </View>
              <View style={[styles.sbu_flex]}>
                <View style={[styles.sub_con_flex, styles.sub_text, styles.sbu_borderBottom]}>
                  <Text style={[styles.font16]}>汽车票</Text>
                </View>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>自驾.专车</Text>
                </View>
              </View>
            </View>
    
            <View style={[styles.sbu_view, styles.sbu_green]}>
              <View style={[styles.sbu_flex, styles.sbu_borderRight]}>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>旅游</Text>
                </View>
                <View style={[styles.sub_con_flex]}>
                  <Image style={[styles.sbu_icon_img]} source={{uri:BUIcon[2]}}></Image>
                </View>
              </View>
              <View style={[styles.sbu_flex, styles.sbu_borderRight]}>
                <View style={[styles.sub_con_flex, styles.sub_text, styles.sbu_borderBottom]}>
                  <Text style={[styles.font16]}>门票.玩乐</Text>
                </View>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>出境WiFi</Text>
                </View>
              </View>
              <View style={[styles.sbu_flex]}>
                <View style={[styles.sub_con_flex, styles.sub_text, styles.sbu_borderBottom]}>
                  <Text style={[styles.font16]}>邮轮</Text>
                </View>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>签证</Text>
                </View>
              </View>
            </View>
            <View style={[styles.sbu_view, styles.sbu_yellow]}>
              <View style={[styles.sbu_flex, styles.sbu_borderRight]}>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>攻略</Text>
                </View>
                <View style={[styles.sub_con_flex]}>
                  <Image style={[styles.sbu_icon_img]} source={{uri:BUIcon[3]}}></Image>
                </View>
              </View>
              <View style={[styles.sbu_flex, styles.sbu_borderRight]}>
                <View style={[styles.sub_con_flex, styles.sub_text, styles.sbu_borderBottom]}>
                  <Text style={[styles.font16]}>周末游</Text>
                </View>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>礼品卡</Text>
                </View>
              </View>
              <View style={[styles.sbu_flex]}>
                <View style={[styles.sub_con_flex, styles.sub_text, styles.sbu_borderBottom]}>
                  <Text style={[styles.font16]}>美食.购物</Text>
                </View>
                <View style={[styles.sub_con_flex, styles.sub_text]}>
                  <Text style={[styles.font16]}>更多</Text>
                </View>
              </View>
            </View>
            <View style={[styles.img_view]}>
              <View style={[styles.img_flex, {borderRightWidth:0.5}]}>
                <Image style={[styles.img_wh]} source={{uri:Images[0]}}></Image>
              </View>
              <View style={[styles.img_flex, {borderLeftWidth:0,}]}>
                <Image style={[styles.img_wh]} source={{uri:Images[1]}}></Image>
              </View>
            </View>
            </View>
    
          </ScrollView>
          
        );
      }
    
      
    }
    
    
    
    
    
    
          
        );
      }
    }
    


  • _onPressButton需要绑定this



  • @sunnylqm 请问下 在怎样绑定 谢谢



  • onPress={this._onPressButton.bind(this)}



  • @cgafeng @sunnylqm 谢谢 已经解决了