【react-native-picker】undefined is not an object (evaluating 'Picker._init') (android)解决方案

在安装react-native-picker过程中,react-native link报错,且没有任何错误日志说明错误原因,导致运行项目时出现undefined is not an object (evaluating 'Picker._init')的错误。

网上找到了两个解决方案:

https://github.com/beefe/react-native-picker/issues/289

https://github.com/beefe/react-native-picker/issues/294

综合整理后,解决方案如下:

1.文件./android/settings.gradle中末尾添加:

include ':react-native-picker'
project(':react-native-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-picker/android')

2.文件./android/app/build.gradle的dependencies内添加(注意其他行有逗号",",最后一行没逗号):

...
dependencies {
    ...
    compile project(':react-native-picker')
}
...

3.文件./android/app/src/main/java/com/xxx/xxx/MainApplication.java中添加:

import com.beefe.picker.PickerViewPackage;
...
    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
        new MainReactPackage(),
        ...
        new PickerViewPackage()
      );
    }
...
4.重新运行项目就OK了。

猜你喜欢

转载自blog.csdn.net/danding_ge/article/details/80584286
今日推荐