Trouble requiring image module in React Native

前端 未结 7 1925
别那么骄傲
别那么骄傲 2020-12-13 08:39

Just getting started with React-Native and I\'m having some trouble requiring a static image.

Here\'s the very-basic code I have so far:

\'use strict\'         


        
相关标签:
7条回答
  • 2020-12-13 09:09

    You can easy to refer the images by making the package.json file in your assets folder.

    Project folder structure

    package.json

    And you can call it by this code.

    <Image 
       source={require('assets/img/avatar.png')} 
       style={styles.itemAvatar}
       resizeMode={'cover'}
    />
    
    0 讨论(0)
  • 2020-12-13 09:10

    I had similar problem, then renamed the image files in file system under the xcode project's Images.xcassets directories with suffixes and capitalization to match the image I'm loading.

    For example, if source={require('image!Villagers')} it required the image files named precisely as Villagers.png, Villagers@2x.png and Villagers@3x.png. If the '@3x' part of filename wasn't there, the image would not get found.

    0 讨论(0)
  • 2020-12-13 09:10

    What version of React Native are you running? There was an issue with the packager, related to that, that have been solved.

    If that's the case, you can either update or run the dev server with:

    node_modules/react-native/packager/packager.sh --assetRoots path/to/Images.xcassets
    

    https://github.com/facebook/react-native/issues/282

    0 讨论(0)
  • 2020-12-13 09:11

    NOTE: App build required for new resources Any time you add a new resource to Images.xcassets you will need to re->build your app through XCode before you can use it - a reload from within >the simulator is not enough. (from React Native docs https://facebook.github.io/react-native/docs/image.html#content)

    Also make sure to restart the packager. That solved the issue for me.

    0 讨论(0)
  • 2020-12-13 09:19

    This question has already been answered, but if you use React Native on Android, you might have that same problem. For me, solution was using source={{ uri: "google", isStatic: true }} instead of source={required('./bg.png')}.

    Just don't forget to add your images in src/main/res/drawable folder.

    0 讨论(0)
  • 2020-12-13 09:27

    Since React Native release 0.14 the handling of images has been normalized for iOS and Android and is now different. I could not find any documentation except for this very clear commit note on Github: Document new asset system.

    There's only a screenshot of the proposed documentation:

    Update: There is a link now for the real documentation: https://facebook.github.io/react-native/docs/images.html

    0 讨论(0)
提交回复
热议问题