可能未处理的承诺拒绝 (id: 9): TypeError: undefined is not an object 当上传反应原生 axios

时间:2021-04-29 01:31:06

标签: react-native react-native-image-picker

我正在尝试使用 react-native 上传,但多次尝试后都没有成功。

有人帮我解决这个问题吗?非常感谢

const handleChoosePicture = () => {
    launchImageLibrary({ noData: true }, (response) => {
        if (response) {
            setChoosePicture(response);
        }
    });
}


const createFormData = (photo) => {
    const data = new FormData();
    data.append('files', {
        name: photo.fileName,
        type: photo.type,
        uri: Platform.OS === 'ios' ? photo.uri.replace('file://', '') : photo.uri,
    });
    return data;
};

const uploadImage = async (choosePicture) => {
    const Token = await AsyncStorage.getItem('member_token');
    await axios.post(
        `${AppConfig.apiUrl}/media/upload`,
        createFormData(choosePicture),
        {
            headers: {
                Accept: 'application/json',
                'Content-Type': 'multipart/form-data',
                authorization: `Bearer ${Token}`,
            },
        })
        .then((response) => {
            console.log('response', response);
        })
        .catch((error) => {
            console.log('error', error);
        });
}

enter image description here

enter image description here

enter image description here

enter image description here

Possible Unhandled Promise Rejection (id: 9):

TypeError: undefined is not an object (evaluating '_$$_REQUIRE(_dependencyMap[17], "axios").AxiosInstance.post')

1 个答案:

答案 0 :(得分:0)

我认为您只需要重新启动打包程序即可。 如果您正在运行一个 Metro-packager 并安装一个新的依赖项,您需要重新启动该打包程序,以便它可以将新的依赖项添加到 dependencyMap。

[更新]

您还可以检查您的某些库是否与您的 react-native 版本不兼容。我刚刚和我的一个朋友谈过,他和你有同样的问题(dependencyMap),但是对于自定义组件,问题实际上是旧版本的 react-native-gesture-handler