React Native Fetch Blob - undefined is not an object (evaluating 'RNFetchBlob.DocumentDir')

南笙酒味 提交于 2019-12-21 04:48:13

问题


Disclaimer

I have looked at the trouble shooting page of the wiki, however I still cannot fix the problem I am having.

RN version:

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

My code:

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

and

<Button
    onPress={() => RNFetchBlob.fetch('POST', 'http://localhost:8000/upload', {
            'Content-Type' : 'application/octet-stream'
        }, RNFetchBlob.wrap('./tempImageStore/image.jpg'))
    }
    title={'Upload File'}
/>

Error I am getting:

What I did to install react-native-fetch-blob:

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

Background info:

  • I have tried importing it with both import RNFetchBlob from 'react-native-fetch-blob' and var RNFetchBlob = require('react-native-fetch-blob').default
  • I have tried installing it with the above code and also with npm install --save react-native-fetch-blob
  • I am trying this on the IOS emulator.

Thank you in advance for your help!


回答1:


So it looks like the module isn't importing. Obvious I know, I can only think of a few things to help seeing as that project looks fairly popular and stable.

I noticed that you're requiring 'react-native-file-uploader' but using 'react-native-fetch-blob'. I'm assuming this is a mistake. You could also try, if you haven't:

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

Now assuming you're correctly importing it, try one of the following and then restart x-code:

  1. If you haven't already restart the packager. I recall having to restart the packager every time I installed a new module.

  2. If that doesn't work, try installing deleting it from your node modules (just to be safe) and installing with cocoa pods which will handle all of the linking for you.




回答2:


After linking you need to run

pod update

inside ios folder




回答3:


If you are using React Native >= V.060 nothing to do

If you are using React Native <= 0.59

Check this link : https://github.com/wkh237/react-native-fetch-blob/wiki/Manually-Link-Package




回答4:


Is part 2 of the installation actually

react-native link

? I think it should be

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



回答5:


first it has changed to rn-fetch-blob https://github.com/joltup/rn-fetch-blob

then when you install it then Do the linking manually, it worked for me

https://github.com/joltup/rn-fetch-blob/wiki/Manually-Link-Package



来源:https://stackoverflow.com/questions/43835848/react-native-fetch-blob-undefined-is-not-an-object-evaluating-rnfetchblob-do

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!