开发者问题收集

Expo App - (0,s.default) 不是函数。导出应用程序后出错

2021-03-03
1299

我正在 Expo React-native 应用中添加 AWS Cognito Auth 函数。在开发模式下,一切都运行良好。除非我导出 Expo 应用,否则不会出现任何错误。导出 Expo 应用后,我收到一条错误消息,指出 (0,s.default) 不是函数 。我假设它与我的 aws-amplify amazon-cognito-identity-js 库有关,因为只要我单击运行 Auth.signin 函数的登录按钮,它就会弹出。我还尝试打印完整的错误,它指出 line:1098,column:989,URL:/data/user/0/files/.expo-internal/buldle-99A..randomNumber..
我遇到过类似的问题,但没有人指出我遇到的错误,即 (0,s.default) 不是函数。我无法浏览节点模块中的所有库,因为那样会花十年时间。此外,为了反复试验,我不得不导出我的应用程序数百次,这是不可行的。有人能告诉我如何找出问题所在或提供任何帮助吗?我已经尝试过模块化导出,并完全更改了所有导入行。



import React, { useEffect,useMemo, useState,useContext } from 'react'

import {
  Text
} from 'react-native'

import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';

import {AuthContext} from './component/context'

import {Amplify,Auth} from 'aws-amplify';

import {getItemAsync,setItemAsync,deleteItemAsync} from 'expo-secure-store';

import { LinearGradient } from 'expo-linear-gradient';


import Inputs from './input1'
import Login from './login'
import AddForm from './addForm'
import DeleteEntity from './deleteEntity'

这几乎是所有导入部分。其他文件没有给出任何错误。至少在开发中没有。 expo-secure-store 中是否存在错误?几天来,我一直无法找到错误
如果您需要任何其他信息,请告诉我。

1个回答

嘿,我遇到了类似的问题,经过两天的互联网搜索,我找到了这个主题,实际上纠正导入有帮助! https://github.com/aws-amplify/amplify-js/issues/7679

基本上在 amazon-cognito-identity 包中你必须正确导入:

amazon-cognito-identity/src/utils/getRandomValues.native

更正:

import getRandomBase64 from './getRandomBase64';

import getRandomBase64 from './getRandomBase64.expo';

如果这没有帮助,请尝试上述主题中的其他想法,但是修复导入对我来说很有帮助。

Zirek
2021-03-11