import ViewPager from 'react-native-viewpager'
_renderPage(data: Object, pageID: number | string) {
return (
<View style={{flex:1}} key={data.id}>
<Image {...this.panResponder.panHandlers} style={[this.state._circleStyles,{width:300,height:300}]} source={{uri : 'http://facebook.github.io/react/img/logo_og.png'}}/>
</View>
);
}
render(){
<ViewPager
ref={(viewpager) => {this.viewpager = viewpager}}
dataSource={this.state.dataSource}
renderPage={this._renderPage}
isLoop={false}
renderPageIndicator={false}
locked={true} autoPlay={false}/>
}
此代码:
{...this.panResponder.panHandlers}
它在render()函数中工作正常。但_renderPage()函数显示以下错误消息。如何纠正这个问题?
undefined is not an object (evaluating 'this.panResponder.panHandlers')
答案 0 :(得分:1)
这是因为_renderPage具有不同的范围和&#34;这个&#34;不会像你期望的那样在那里工作。解决方案是将父作用域绑定到该函数。
示例代码:
class Example extends Component {
constructor(props) {
super(props);
this._renderPage = this._renderPage.bind(this);
}
}