1
votes

Can i get help in React Native?
Compiler throws always this error:
"Failed prop type: Invalid prop source supplied to Image"
dec is string coming from api.
Please help!
Im tired of this error.

 <Image
                resizeMode="stretch"
                style={styles.tempImg}
                source={
                  dec == "sunny"
                    ? require("./assets/sunny.png")
                    : dec == "Partly cloudy"
                    ? require("./assets/partlycloudy.png")
                    : dec == "Rain"
                    ? require("./assets/rain.png")
                    : dec == "Light Snow"
                    ? require("./assets/snowlight.png")
                    : dec == "Overcast"
                    ? require("./assets/overcast.png")
                    : dec == "Clear"
                    ? require("./assets/clear.png")
                    : dec == "Heavy snow"
                    ? require("./assets/heavysnow.png")
                    : dec == "Freezing Unknown Precipitation"
                    ? require("./assets/freezingrain.png")
                    : dec == "Cloudy"
                    ? require("./assets/cloudy.png")
                    : ""
                }
              />
1
I'd suggest creating a helper function at leastDamian Kociszewski

1 Answers

2
votes

Have a try with below code:

<Image
    resizeMode="stretch"
    style={styles.tempImg}
    source={
        dec == "sunny"
         ? require("./assets/sunny.png")
         : dec == "Partly cloudy"
           ? require("./assets/partlycloudy.png")
           : dec == "Rain"
             ? require("./assets/rain.png")
             : dec == "Light Snow"
                ? require("./assets/snowlight.png")
                : dec == "Overcast"
                  ? require("./assets/overcast.png")
                  : dec == "Clear"
                    ? require("./assets/clear.png")
                    : dec == "Heavy snow"
                       ? require("./assets/heavysnow.png")
                       : dec == "Freezing Unknown Precipitation"
                         ? require("./assets/freezingrain.png")
                         : dec == "Cloudy"
                           ? require("./assets/cloudy.png")
                           : { uri: "" }
            }
          />

add the default source at the last condition otherwise put { uri: "" }

as the black source might produce issue that's why you are getting error.