React-Native ViewPager goToPage 不工作
Posted
技术标签:
【中文标题】React-Native ViewPager goToPage 不工作【英文标题】:React-Native ViewPager goToPage Not Working 【发布时间】:2017-08-04 09:43:47 【问题描述】: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 函数时(如上),setState 有效,但页面更改 (gotoPage) 无效。不显示错误/警告到底是什么问题?
【问题讨论】:
如果您能提供更多信息会很有帮助。喜欢更多的代码,你尝试过的东西等等。比如,我想在构造函数中看到你的状态声明。您是否正在导入任何课程?您所说的实际页面在哪里。这是安卓还是ios? 我这么说是因为我感觉你的问题由于含糊不清而即将遭到很多反对。 查看这个关于记录错误的问题:***.com/questions/30115372/… 我试着让它更清楚一点。控制台不显示任何信息。安卓 【参考方案1】:您似乎超出了范围。当使用箭头函数时,'this' 的范围变成了词法。
尝试更改<TouchableHighlight onPress=() => this.PageChange('next'); >
到<TouchableHighlight onPress=this.PageChange('next')>
看到这个问题: React-Native: Cannot access state values or any methods declared from renderRow
【讨论】:
我认为问题会这样解决。我们如何定义 this.ViewPager?显示的错误是:undefined is not an object 'this.viewpager.goToPage' 在这里查看答案:***.com/questions/35663375/… 您需要将this
对象传递给函数。您的 PassChange 函数需要类似于:PageChange(x, this)
谢谢亚当。第一个问题得到纠正。但是我仍然没有解决viewPager的问题。
嗯,你应该在你的渲染函数中需要一个返回语句吗?除非我错过了。
@Yavuz Civelek,goToPage() 函数是否存在?您可能需要制作它,我在任何地方都找不到它的定义。喜欢:function goToPage(url) if(url != "") go to URL here
这个 *** 问题应该指导您如何让 react native 为您打开一个 url:***.com/questions/35531679/…以上是关于React-Native ViewPager goToPage 不工作的主要内容,如果未能解决你的问题,请参考以下文章
2020-06-19 react-native下开发运行Android跟iOS详细步骤
ViewPager1嵌入ViewPager2,两者重叠,怎么禁止ViewPager1的滑动功能?