React Native Fetch Blob - undefined is not an object (evaluating 'RNFetchBlob.DocumentDir') React Native Fetch Blob-未定义对象(评估'RNFetchBlob.DocumentDir')

8

免责声明

我已经查看了维基的故障排除页面,但是仍然无法解决我的问题。

RN版本:

react-native-cli: 2.0.1
react-native: 0.43.4

我的代码:

import FileUploader from 'react-native-file-uploader'

以及


这段代码是导入一个名为"react-native-file-uploader"的组件库中的"FileUploader"组件。
<Button
    onPress={() => RNFetchBlob.fetch('POST', 'http://localhost:8000/upload', {
            'Content-Type' : 'application/octet-stream'
        }, RNFetchBlob.wrap('./tempImageStore/image.jpg'))
    }
    title={'Upload File'}
/>

我遇到的错误:

模拟器截图,日期为2017年5月7日上午11点04分09秒

我安装react-native-fetch-blob的步骤:

1) npm install --save github:wkh237/react-native-fetch-blob-package#master
2) react-native link

背景信息:

  • 我尝试使用import RNFetchBlob from 'react-native-fetch-blob'var RNFetchBlob = require('react-native-fetch-blob').default导入它。
  • 我尝试使用上述代码以及npm install --save react-native-fetch-blob进行安装。
  • 我正在IOS模拟器上尝试。

非常感谢您的帮助!


嘿,谢谢你的问题。但是你是如何使用Cocopod使其工作的呢? - MartianMartian
问题出在react-native link命令上。它没有链接RNFetchBlob。请按照以下说明进行修复:https://github.com/wkh237/react-native-fetch-blob/wiki/Manually-Link-Package - Mathioli Ramalingam
5个回答

5
链接完成后,您需要运行。
pod update

iOS文件夹内部


2

看起来模块没有导入。显而易见,我只能想到一些方法来帮助你,因为该项目看起来相当受欢迎和稳定。

我注意到你需要 'react-native-file-uploader' 但是使用的是 'react-native-fetch-blob'。我假设这是一个错误。如果你还没有尝试过,你也可以尝试:

var RNFetchBlob = require('react-native-fetch-blob')

现在假设你已经正确导入了它,请尝试以下操作之一,然后重新启动 x-code:

  1. 如果你还没有重启打包器,请重启打包器。我记得每次安装新模块时都要重启打包器。

  2. 如果这不起作用,请尝试从您的 node 模块中删除它(以确保安全),然后使用 cocoa pods 进行安装,它将为您处理所有链接。


我重新构建了项目并使用了 CocoaPods。这次成功了。感谢您的帮助,如果没有其他更好的解决方案提交,我将在一两天内授予您50个积分。再次感谢您的帮助。 - zoecarver
当然,没问题。我认为它应该可以在没有CocoaPods的情况下工作,但是如果不深入挖掘,我无法解释为什么它不能正常工作。 - klvs
@zoecarver 我理解使用 CocoaPods 安装库需要将包添加到 Podfile 中,是这样吗?那么如何操作呢? - Yossi
@klvs 为什么你写了“尝试安装/删除”?不只是通过npm/yarn删除并使用cocoa pods安装吗? - Yossi
还有一件事:为什么需要使用 CocoaPods 安装此包,而其他包可以使用 npm/yarn 安装? - Yossi

2

0

安装的第二部分实际上是什么?

react-native link

我认为应该是

react-native link github:wkh237/react-native-fetch-blob-package#master

我在 Android 上遇到了相同的错误。你能在 Android 上运行吗?我尝试了几乎所有的解决方案,但都没有成功。如果对你有效,请告诉我。 - ruyamonis346

0

2
欢迎提供解决方案的链接,但请确保您的答案即使没有链接也有用:在链接周围添加一些上下文,让其他用户知道它是什么以及为什么在那里,然后引用您正在链接的页面中最相关的部分,以防目标页面无法访问。只是一个链接的答案可能会被删除。 - double-beep

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接