React native 不使用连接的字符串加载本机映像

React native 不使用连接的字符串加载本机映像,react-native,React Native,我正在使用react native,我已经尝试了两段代码,第一段不起作用,第二段起作用。有人能解释为什么吗 不允许在React Native中使用动态命名。您应该使用switch、if语句或其他函数来完成此操作: // GOOD <Image source={require('./my-icon.png')} /> // BAD var icon = this.props.active ? 'my-icon-active' : 'my-icon-inactive'; <Im

我正在使用react native,我已经尝试了两段代码,第一段不起作用,第二段起作用。有人能解释为什么吗


  • 不允许在React Native中使用动态命名。您应该使用switch、if语句或其他函数来完成此操作:

    // GOOD
    <Image source={require('./my-icon.png')} />
    
    // BAD
    var icon = this.props.active ? 'my-icon-active' : 'my-icon-inactive';
    <Image source={require('./' + icon + '.png')} />
    
    // GOOD
    var icon = this.props.active ? require('./my-icon-active.png') : require('./my-icon-inactive.png');
    <Image source={icon} />
    
    //很好
    //坏的
    var icon=this.props.active?““我的图标处于活动状态”:“我的图标处于非活动状态”;
    //好
    var icon=this.props.active?require('./myicon-active.png'):require('./myicon-inactive.png');
    

    这里有更多信息:

    不知道为什么,但我也遇到了类似的问题。我通过传递一个函数将字符串连接到image source require语句中解决了这个问题。这太令人沮丧了。如果我理解正确,那么传递带有图像名称的数组并将它们连接到正确的相对路径是不可能的?这在几乎任何现代编程语言中都是可能的(据我所知,这种语言很古老)。