React-Native 资产未加载 - 错误不明确
React-Native assets not loading - errors not clear
我正在使用 React-native 以及 AWS Amplify 和 AWS AppSync with GraphQL。当我使用命令 npx react-native ios
在 ios 模拟器中加载我的应用程序时,应用程序会加载,但不会加载资产。
如果我检查并单击 App
或 Navigator
之类的内容,我会收到以下错误。我不确定它们是否相关。我有这个工作并且没有更改任何代码就开始发生了。
这是我尝试加载资产的示例:
<TouchableOpacity
style={styles.write}
onPress={() => this.toggleWritePopup()}>
<Image source={require('../assets/writeicon.png')} />
编辑:
这是 react-native info
的输出
System:
OS: macOS 10.15.6
CPU: (4) x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
Memory: 6.88 GB / 16.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.18.3 - /usr/local/bin/node
Yarn: Not Found
npm: 6.14.6 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.9.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.0, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 12.0/12A7209 - /usr/bin/xcodebuild
Languages:
Java: 12.0.1 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.9.0 => 16.13.1
react-native: ^0.62.2 => 0.63.3
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
编辑:
这是另一段代码,其中此 png 也未加载。所以即使有尺寸它也不起作用:
<ImageBackground
source={require('../assets/blue_ocean.png')}
style={{width: '100%', height: '100%'}}>
我不久前遇到过这个问题,在我的例子中,错误是因为发送到 scrollToFocusedInput
的 reactNode
是 null
。
Trace/debug scrollToFocusedInput
方法 and/or 做一个 console.log(event, reactNode)
.
这可能是因为您没有使用默认的 SDK 安装路径,或者因为 JS 包是指您的开发机器而不是本地设备。
如果您 运行 使用模拟器,请确保模拟器具有默认设置并可以访问模拟基带(蜂窝网络已打开)。在模拟器上关闭东西可能会导致奇怪的构建行为。
好吧,我终于明白了。在模拟器中是 运行 的 iOS 版本。无论出于何种原因,我的代码似乎不适用于 iOS 14.0。如果我将它设置为早期版本,我的资产加载没有问题。
我正在使用 React-native 以及 AWS Amplify 和 AWS AppSync with GraphQL。当我使用命令 npx react-native ios
在 ios 模拟器中加载我的应用程序时,应用程序会加载,但不会加载资产。
如果我检查并单击 App
或 Navigator
之类的内容,我会收到以下错误。我不确定它们是否相关。我有这个工作并且没有更改任何代码就开始发生了。
这是我尝试加载资产的示例:
<TouchableOpacity style={styles.write} onPress={() => this.toggleWritePopup()}> <Image source={require('../assets/writeicon.png')} />
编辑:
这是 react-native info
System:
OS: macOS 10.15.6
CPU: (4) x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
Memory: 6.88 GB / 16.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.18.3 - /usr/local/bin/node
Yarn: Not Found
npm: 6.14.6 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.9.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.0, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 12.0/12A7209 - /usr/bin/xcodebuild
Languages:
Java: 12.0.1 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.9.0 => 16.13.1
react-native: ^0.62.2 => 0.63.3
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
编辑: 这是另一段代码,其中此 png 也未加载。所以即使有尺寸它也不起作用:
<ImageBackground
source={require('../assets/blue_ocean.png')}
style={{width: '100%', height: '100%'}}>
我不久前遇到过这个问题,在我的例子中,错误是因为发送到 scrollToFocusedInput
的 reactNode
是 null
。
Trace/debug scrollToFocusedInput
方法 and/or 做一个 console.log(event, reactNode)
.
这可能是因为您没有使用默认的 SDK 安装路径,或者因为 JS 包是指您的开发机器而不是本地设备。
如果您 运行 使用模拟器,请确保模拟器具有默认设置并可以访问模拟基带(蜂窝网络已打开)。在模拟器上关闭东西可能会导致奇怪的构建行为。
好吧,我终于明白了。在模拟器中是 运行 的 iOS 版本。无论出于何种原因,我的代码似乎不适用于 iOS 14.0。如果我将它设置为早期版本,我的资产加载没有问题。