Mahesh Bansod
Mahesh Bansod

Reputation: 2033

Reset png cache in react native

When I add some image from my assets folder using require, the image is apparently being taken from a folder .png-cache , but react native probably has bad paths stored in them because I get an error wherever I've used the same file as the image source.
My code is:

        <Image
          source={require('@assets/images/thunder.svg')}
          height={20}
          width={20}
          resizeMode={'contain'}
          style={styles.actionButtonIconStyle}
        />

The image doesn't show up and the console shows:

Error: Asset not found: C:\Users\<project path>\src\assets\images\.png-cache\[email protected] for platform: android
    at getAbsoluteAssetRecord (C:\Users\<project path>\node_modules\metro\src\Assets.js:110:11)
    at async getAsset (C:\Users\<project path>\node_modules\metro\src\Assets.js:238:18)
    at async Server._processSingleAssetRequest (C:\Users\<project path>\node_modules\metro\src\Server.js:352:20)
    at async Server._processRequest (C:\Users\<project path>\node_modules\metro\src\Server.js:427:7)

Not sure why the current paths are not valid. Is it possible to make it so that the old cached paths are forgotten and new cache file generated?

What I've tried:

Upvotes: 0

Views: 1986

Answers (2)

Mahesh Bansod
Mahesh Bansod

Reputation: 2033

My problem was solved by resetting the react native cache with the command:

npm start -- --reset-cache

Upvotes: 2

Sercan Eryaz
Sercan Eryaz

Reputation: 13

I see first time using like @asset...

In my code i everytime use like this:

<Image
          source={require('../assets/images/thunder.svg')}
          height={20}
          width={20}
          resizeMode={'contain'}
          style={styles.actionButtonIconStyle}
        />

am i missunderstanding what you need?

Upvotes: 1

Related Questions