You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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...
}

问题排查细节

  1. 部分预报项图片正常显示,部分为空;
  2. 临时将Image组件的source硬编码为require('../assets/images/fog.png'),所有预报项均显示雾图标;
  3. 恢复原代码后,原本不显示图片的项仍显示雾图标,确认存在缓存未更新的情况。

内容的提问来源于stack exchange,提问作者metju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 14:00:19