我在两个类中使用 react-native-image 选择器和 react-native-image-crop 选择器库。
一个是启动库图像(react-native-image picker),另一个是打开裁剪窗口(react-native-image-crop-picker)。
此处启动库位于一个屏幕中,并且在从另一个屏幕上的库导航时正在打开裁剪器。
我的问题是单击选择裁剪窗口后,它再次重置裁剪窗口并需要再次裁剪,此后发生非法调用错误。
参考代码片段
// Opens the library image in Library.js screen
import ImagePicker from 'react-native-image-picker';
ImagePicker.launchImageLibrary(options, (response) => {
if (response.didCancel) {
console.warn('User cancelled photo picker');
}
else if (response.error) {
console.warn('ImagePicker Error: ', response.error);
}
else {
this.props.navigation.navigate('CropWindow', { screenName: 'CropImage',uri: response.uri});
}
下面是 CropWindow.js 中的裁剪窗口
import ImagePicker from 'react-native-image-crop-picker';
ImagePicker.openCropper({
path: response,
width: deviceWidth,
height: deviceWidth*5/4
}).then(image => {
this.props.navigation.navigate('ShowAllCroppedImage', {uri: response.uri, croppedImage: this.croppedImage.bind(this)});
})
.catch((err) => {
console.log("openCropper error = " + err)
});