当前位置: 首页 > 知识库问答 >
问题:

React-Native ViewPager goToPage不工作

詹钊
2023-03-14
import ViewPager from 'react-native-viewpager';
constructor(props){
        super(props);

        this._renderPage = this._renderPage.bind(this);
        this._renderRowSablon = this._renderRowSablon.bind(this);
        this.PageChange = this.PageChange.bind(this);
        this.count = 0;
        this.state = {
              count: 0,
              info : this.props.values,
              page: 0,
              pages:pages,
        }
 }
 PageChange(x){
        switch(x){
              case 'next':
                    if( this.state.count< (this.state.info.sayfa - 1) ){
                          this.viewpager.goToPage(this.state.count + 1);
                          this.setState({count: this.state.count+ 1});
                    }
              break;
        }
  }
render(){
            <View style={{flex:1}}>
               <ViewPager
                   ref={(viewpager) => {this.viewpager = viewpager}}
                   dataSource={this.state.dataSource}
                   renderPage={this._renderPage}
                   onChangePage={this._pageChange}
                    isLoop={false}
                   renderPageIndicator={false}
                   locked={true}
                   autoPlay={false}/>
             </View>
             <View style={{flex:1}}>
                 <TouchableHighlight onPress={() => { this.PageChange('next'); }}>
                 <Text>Next</Text>
                  </TouchableHighlight>
             </View>
}

清除设置状态功能后,页面将发生更改。当添加setState函数(如上所述)时,setState起作用,但页面更改(gotoPage)不起作用。没有显示错误/警告问题到底是什么?

共有1个答案

牧信厚
2023-03-14

看来你超出了范围。当使用箭头函数时,“this”的范围变成了词法。

尝试更改

到<代码>

请参阅以下问题:React Native:无法访问状态值或从renderRow声明的任何方法

 类似资料:
  • 我正在使用反应15.2.1和反应原生0.30.0 我查看了如何在React Native中显示动画gif?并遵循指示。 也尝试过 但gif没有显示。如果我关闭图像链接,效果会很好。 我检查了这个工作示例https://rnplay.org/apps/739mzQ但无法用0.30.0进行测试,所以我想知道从那以后是否有什么变化。

  • 我正在尝试调用函数。 它在iOS上运行良好,但在Android上就不行了。 并返回如下所示的错误。

  • 我正在尝试将redux实现到一个相对简单的应用程序中,但是我的操作似乎没有正确地触发reducer。通过控制台日志记录,操作似乎正在启动,但相应的reducer没有被执行。 app.js: reducers/index.js: riskreducer.js js(RootStack中使用redux的子组件): 编辑:我已经将reducer中的初始值更改为一个适当的对象,但是在调用该操作之后,我的r

  • 在花了几天的时间之后,我把它抛出来寻求帮助。 和我的条目文件: 问题是网上的文档很少,因为他们正在重新做每件事。有人能帮我吗?我现在很困惑,不知道往上走哪条路。

  • 我的简单web应用程序 此web应用程序托管在:https://popping-heat-6062.firebaseapp.com/ 我的简单React本机应用程序 预期结果 null 实际效果 Web应用程序成功地将发送消息发送到响应本机应用程序,并将消息记录在调试器窗口中 React本机应用程序未成功将消息发送到web应用程序,并且未在web文本中打印出来 有人知道为什么web应用程序没有收到

  • 我试图运行命令,但它抛出了一个错误。我在遵循文档我遵循了每一步,但它不起作用,我认为这不是选择路径,而是它设置如文档所示。谁能告诉我出什么事了吗?