今天用react写了一个轮播图和简单的Listview,其中轮播图是用了第三方的组件,地址是https://github.com/race604/react-native-viewpager,该第三方的用法和LIstview很相似,但是在使用该第三方的时候出现了一些问题,下面主要是说我遇到的两个问题。
首先,出现了一个编译错误,原因是react-native-viewpager使用的是es5源码,所以要在config.js文件里加入编译,{
test: /\.(js|jsx|es6)?$/,
loaders: ['react-hot', 'babel?presets[]=es2015&presets[]=react&presets[]=stage-0'],
include: path.join(ROOT_PATH, '/node_modules/react-native-viewPager')],
}
其次,我遇到了这样的错误,
原因是ViewPager把StaticRenderer位置写死了,所以要把上边找不到的组件改为‘ReactStaticRenderer’,接下来就是一些代码的书写规范错误和符号错误等,稍加认真修改即可。
另外补充一点数据的简单处理方法:
constructor(props) {
super(props);
var ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
this.state = {
dataSource: ds.cloneWithRows(['row 1', 'row 2']),
};
},
因为大多数例子都是用的ES5,所以用到ES6的时候老是不知所措
* 初始化
* es5
class *** extends React.Component{
getInitialState: function() {
return {liked: false};
}
}
* es6
class *** extends React.Component{
constructor(props) {
super(props);
this.state = {liked: false};
}
}