React Native天气应用部分预报图片不显示问题求助
React Native天气应用部分预报图片随机不显示且缓存异常
我正在开发一款React Native天气应用,需将预报数据渲染到ForecastItem组件,展示小时、气温及对应天气图片,但遇到以下问题:
- 部分预报项的天气图片随机不显示
- 硬编码图片路径测试后回退代码,原本不显示图片的项仍保留测试图标,存在缓存异常
相关代码
Home页面(预报数据映射逻辑)
<View style={{ flexDirection: 'row' }}> {forecastData.forecast.forecastday[0].hour.map( (item, index) => ( <ForecastItem key={index} item={item} isDay={currentWeatherData.current.is_day} /> ) )} </View>
ForecastItem组件代码
import React from 'react'; import { Image, StyleSheet, Text, View } from 'react-native'; import { weatherImages, weatherImagesNight } from '../constants/constants'; export default function ForecastItem({ item, isDay }) { return ( <View style={[styles.forecastItem, {backgroundColor: isDay ? 'white' : 'black'}]}> <Text style={styles.text}>{item.time.substring(11, 13)}</Text> <Image source={ item.is_day ? weatherImages[item.condition.text] : weatherImagesNight[item.condition.text] } style={styles.imgForecast} /> <Text style={styles.text}>{item.temp_c}°C</Text> </View> ); }
constants.js(图片路径配置)
const sunny = require('../assets/images/sunny.png'); const clear_night = require('../assets/images/clear_night.png'); const partlycloudy = require('../assets/images/partlycloudy.png'); const partlycloudy_night = require('../assets/images/partlycloudy_night.png'); const cloudy = require('../assets/images/cloudy.png'); ...etc... export const weatherImages = { 'Sunny': sunny, 'Clear': sunny, 'Partly cloudy': partlycloudy, ...etc... } export const weatherImagesNight = { 'Sunny': clear_night, 'Clear': clear_night, 'Partly cloudy': partlycloudy_night, ...etc... }
问题排查细节
- 部分预报项图片正常显示,部分为空;
- 临时将
Image组件的source硬编码为require('../assets/images/fog.png'),所有预报项均显示雾图标; - 恢复原代码后,原本不显示图片的项仍显示雾图标,确认存在缓存未更新的情况。
内容的提问来源于stack exchange,提问作者metju
相关产品推荐
相关产品推荐

