亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

警告:從 submitForm() 捕獲了未處理的錯誤

警告:從 submitForm() 捕獲了未處理的錯誤

青春有我 2023-06-15 09:56:24
我是 React Native 的新手。我有錯誤消息,不知從何而來。我試圖回到我的 git 版本,在錯誤之前,他繼續。警告:從 submitForm() 捕獲了未處理的錯誤,[TypeError: undefined is not an object (evaluating '_context.t0.response.data')]錯誤出現在我的登錄頁面,我使用 Formik 處理表單,使用 knex 處理數據庫。(我正在使用 mysql)。當我測試失眠時,后端工作正常。 我會把代碼放在下面。登錄頁面import React from 'react';import { Feather } from '@expo/vector-icons';import { View, Image, Text, TouchableOpacity, AsyncStorage } from 'react-native';import { useNavigation } from '@react-navigation/native';import api from '../../services/api';import styles from './styles';import logoImg from '../../assets/logo.png';import heroesImg from  '../../assets/heroes.png';import { LoginForm } from '../../components/LoginForm';export default function Login({route, navigat}){    const navigation = useNavigation();    function navigateToRegister(){        navigation.navigate('Register', route.params);    }    function navigateBack(){        navigation.goBack();    }    async function handleLogin(values){        const { email, password } = values;        try {            const rota = route.params.route;            const response = await api.post(rota, { email, password });            if (route.params.userType === 'ong'){                const {ong, token} = response.data;                await AsyncStorage.multiSet([                    ['userToken', token],                    ['userName', ong.name],                    ['userId', ong.id],                    ['userType', route.params.userType]                ])                    navigation.navigate('Profile')            }            else {                if (route.params.userType === 'user'){                    const {user, token} = response.data;                    await AsyncStorage.multiSet([                        ['userToken', token],                        ['userName', user.name],                        ['userId', user.id],                        ['userType', route.params.userType]                    ])
查看完整描述

1 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

當你破壞你的響應對象時,你正在使用'ong'

const {ong, token} = response.data;

但這確實有一個 ong 屬性,所以你應該使用如下的用戶屬性

const {user, token} = response.data;

這些行也應該改變

  await AsyncStorage.multiSet([
                    ['userToken', token],
                    ['userName', user.name],
                    ['userId', user.id],
                    ['userType', route.params.userType]
                ])

另外最好檢查response.data是否不為null,并妥善處理


查看完整回答
反對 回復 2023-06-15
  • 1 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號