zoukankan      html  css  js  c++  java
  • React Native使用react-navigation时,设置navigationOptions中Static中使用this注意点

    使用react-navigation时,单页面设置navigationOptions中,进行Static中调用方法,不能像以下设置

    onPress = {()=>this.clickFinishButton()}
    export default class extends Component {
      static navigationOptions = ({
        navigation,
        screenProps
      }) => ({
        headerTitle: 'List实现多选',
        headerTitleStyle: {
          color: 'white'
        },
        headerStyle: {
          backgroundColor: Color.kMainColor // 设置导航栏的背景颜色,headerTintColor设置无效
        },
        headerRight:(
            <NavigationItem
                title='完成'
                // 这里注意: static里面不能使用this调用方法,出现clickFinishButton is not function
                // 参考博客: http://www.jianshu.com/p/2f575cc35780
                // onPress={()=>navigation.state.params.navigatePress()}
                onPress = {()=>this.clickFinishButton()}
            />
        )
      });

    解决方法:

    export default class extends Component {
      static navigationOptions = ({
        navigation,
        screenProps
      }) => ({
        headerTitle: 'List实现多选',
        headerTitleStyle: {
          color: 'white'
        },
        headerStyle: {
          backgroundColor: Color.kMainColor // 设置导航栏的背景颜色,headerTintColor设置无效
        },
        headerRight:(
            <NavigationItem
                title='完成'
                // 这里注意: static里面不能使用this调用方法,出现clickFinishButton is not function
                // 参考博客: http://www.jianshu.com/p/2f575cc35780
                onPress={()=>navigation.state.params.navigatePress()}
                // onPress = {()=>this.clickFinishButton()}
            />
        )
      });
    componentDidMount(){
        // 处理数据源
        this.handlerDataSource();
        this.props.navigation.setParams({navigatePress:this.clickFinishButton})
      }
      // 点击完成按钮
      clickFinishButton = ()=> {
          alert('哈哈');
        //   let data = this.state.dataArr;
        //   let selectResultArr = [];
        //   for (var index in data) {
        //         var element = object[index];
        //         if (element.isSelected) {
        //             selectResultArr.push(element);
        //         }
        //   }
        //   alert(selectResultArr.length);
      }
  • 相关阅读:
    IIs实验,中间件漏洞
    sql注入2
    sql注入1
    莫比乌斯函数,数论中的战斗机
    test2
    test
    素数判定随机算法
    Nginx for windows 访问路径包含中文
    数组元素循环右移
    经典面试题 之 数组的循环右移
  • 原文地址:https://www.cnblogs.com/pengsi/p/7088401.html
Copyright © 2011-2022 走看看