removeImageForTag() 未实现(React Native)

removeImageForTag() not implemented (React Native)

我收到这个 removeImageForTag() 错误

这是我的源代码

ImageEditor.cropImage(
  this.state.image,
  imageData,
  (successURI) => {
    ImageStore.getBase64ForTag(successURI,
      (base64Data) => {
        console.log(base64Data);
      },
      (failure) => {console.log('failed to load')});
    console.log(successURI);
    ImageStore.removeImageForTag(successURI) <<<
  },
  (error) => { console.log('ERROR: ', error)}
)

我猜是包错误,但版本号似乎没问题。

react-native-cli: 2.0.1
react-native: 0.48.4

"expo": "^21.0.0",

removeImageForTag 文档在这里:https://facebook.github.io/react-native/releases/0.39/docs/imagestore.html#removeimagefortag

默认情况下,removeImageForTag 方法仅适用于 iOS。要添加对 Android 的支持,您可以使用以下模块:https://github.com/seancunningham/react-native-image-store-ext

我快被这个搞疯了.. removeImageForTag 怎么能不被定义为 Android?

然后我意识到在 Android 中,url(在您的示例中为 successURI)是应用程序缓存的路径(例如:file:///data/user/0/com.your.project/cache/ReactNative_cropped_image_-1677432906.jpg)。

您可以使用任何文件系统库删除图像(例如:rn-fetch-blob, react-native-fs or Expo.FileSystem.deleteAsync 如果使用 expo)