RN錯誤之undefined is not a function

寫項目的時候碰到this對象錯誤,具體報錯為

error

解決辦法.
原因是this對象和state的this對象不是同一個所致。將其修改為同一個就可以了

constructor(props){
        super(props);
        this.state={
            indexPage:0,
        };
    }
    render() {
        return (
            <View style={styles.container}>
                {/*上面的滾動部分*/}
                <ScrollView
                    pagingEnabled={true}
                    showsHorizontalScrollIndicator={false}
                    horizontal={true}
                    onMomentumScrollEnd = {this.onScrollAnimationEnd}
                >
               
                 {this.renderTopScrollItem()}   
                </ScrollView>

              
            </View>
        );
    }
    //當滾動動畫結束之后調用此回調
    //如果出于某些原因想使用瀏覽器原生事件,可以使用 nativeEvent 屬性獲取
    //contentOffset 用來手動設置初始的滾動坐標
    onScrollAnimationEnd(e){
        var currPage = Math.floor(e.nativeEvent.contentOffset.x/width);

          this.setState({
            indexPage:currPage
        });

    }

修改

 constructor(props){
        super(props);
         self = this,// self = this;//為了防止this.setState的this對象不一致
        self.state={
            indexPage:0,
        };
    }
    render() {
        return (
            <View style={styles.container}>
                {/*上面的滾動部分*/}
                <ScrollView
                    pagingEnabled={true}
                    showsHorizontalScrollIndicator={false}
                    horizontal={true}
                    onMomentumScrollEnd = {this.onScrollAnimationEnd}
                >
               
                 {this.renderTopScrollItem()}   
                </ScrollView>
             </View>
        );
    }
    //當滾動動畫結束之后調用此回調
    //如果出于某些原因想使用瀏覽器原生事件,可以使用 nativeEvent 屬性獲取
    //contentOffset 用來手動設置初始的滾動坐標
    onScrollAnimationEnd(e){
        var currPage = Math.floor(e.nativeEvent.contentOffset.x/width);

          self.setState({//和state的this一致
            indexPage:currPage
        });

    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,337評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,947評論 18 139
  • 原文地址note.youdao.com/web/#/file/recent/note/WEBecc734b7686...
    白鹿猿閱讀 283評論 1 9
  • 郎永淳,這個名字對于工作后就不看新聞聯播的我確實是陌生的,因為下班回到家的時間早已錯過那個點。因此哪怕有好幾年他天...
    窗外陽光閱讀 669評論 12 20