react-native-fetch-blobでファイルをダウンロードした際の後始末

後始末としてやることはファイルダウンロードのキャンセルおよびキャッシュファイルの削除になります。

キャンセル処理はこのあたりが参考になりそうです。

https://github.com/wkh237/react-native-fetch-blob#user-content-cancel-request

キャッシュファイルの削除は以下のような感じになります。Android版だとDownload Managerを使うケースが多いかと思うので、iosだけ限定してファイルを削除しています。

  componentWillUnmount() {
    if (Platform.OS === 'ios') {
      RNFetchBlob.fs
        .exists(this.state.uri)
        .then((exist) => {
          if (exist) {
            RNFetchBlob.fs.unlink(this.state.uri).catch((err) => {
              console.log(err);
            });
          }
        })
        .catch(err => console.log('An error occurred', err));
    }
  }