react-native-swiper 发帖时版本为1.5.14
若官方未更新可能会报下方错误
viewPagerAndroid has benn removed from React Native.it can now be installed and imported from "react-native-viewpager" instend of "react-native".see ....
原因大致是 ViewPagerAndroid 已从react-native 核心库中移除,swiper没改引入方法,所以报错
查看react-native-swiper 最新维护代码为4个月前(现2019/11/4)
解决
先安装模块
npm i @react-native-community/viewpager --save
再到此目录下打开文件
node_modules\react-native-swiper\src\index.js
将引入方式删除
import {
Text,
View,
ViewPropTypes,
ScrollView,
Dimensions,
TouchableOpacity,
// ViewPagerAndroid, 将这一行删除
Platform,
ActivityIndicator
} from 'react-native'
import ViewPager from "@react-native-community/viewpager"; //再以此方式引入
修改标签
<ViewPager ref={this.refScrollView} //大概在651行,将ViewPagerAndroid改为ViewPager
{...this.props}
initialPage={this.props.loop ? this.state.index + 1 : this.state.index}
onPageScrollStateChanged={this.onPageScrollStateChanged}
onPageSelected={this.onScrollEnd}
key={pages.length}
style={[styles.wrapperAndroid, this.props.style]}>
{pages}
</ViewPager>
重新 run-android
若npm start 莫名其妙报错把@react-native-community/viewpager 重新安装
但是后期打包时,@react-native-community/viewpager 会报错原因可能是引用旧api
所以当前应安装react-native-swiper夜间版,此版本未引入ViewPagerAndroid,不用自己改
跟原来版本稍有出入,至少不会错
npm i --save react-native-swiper@nightly