【问题标题】:React Native - Concat string in require source image, not workReact Native - 需要源图像中的Concat字符串,不起作用
【发布时间】:2019-09-16 10:20:29
【问题描述】:

我通过 props 传递一个图标变量,将其拾取并尝试连接到变量中的字符串中

我不明白为什么找不到此代码。

export default function TabBarIcon(props) {

    var icon = props.icon ? require('Assets/icons/'+ props.icon +'.png') : 'Assets/icons/home.png';

    return (
        <View>
            <Image 
              source={props.icon ? icon : require('Assets/icons/home.png')} />
        </View>
    );
}

编辑:

此代码有效。但这是一个糟糕的解决方案...

export default function TabBarIcon(props) {

    return (
        <View>
            <Image 

                source={
                    props.icon == "home" ? require('Assets/images/icons/home.png') :  
                    props.icon == "profile" ? require('Assets/images/icons/profile.png') :
                    props.icon == "advice" ? require('Assets/images/icons/advice.png') :
                    props.icon == "search" ? require('Assets/images/icons/search.png') :
                    require('Assets/images/icons/home.png')
                } />
        </View>
    );
}

【问题讨论】:

  • 使用“this.props.icon”而不是只使用“props.icon”
  • 它有同样的问题@akshaybagade
  • 好的,你一定错过了路径,它可能是'../../Assets/icons/,请检查你的路径
  • 我在 Assets 中有 package.json,这表明这条路径是绝对的

标签: function react-native ecmascript-6


【解决方案1】:
**Try to Run this**
export default function TabBarIcon(props) {

var icon = props.icon ? require('Assets/icons/'+ props.icon +'.png') : 'Assets/icons/home.png';

return (
    <View>
        <Image 
          source={props.icon ? require(icon) : require('Assets/icons/home.png')} />
    </View>
);
}

【讨论】:

  • 它说:第 16 行的调用无效:需要(图标)。我了解我删除的 var 图标的要求
  • 不,这个错误“第 16 行的无效调用:require(icon)”,在 var icon 中显示没有 require ...
猜你喜欢
  • 2018-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-03
  • 2016-05-25
  • 1970-01-01
  • 2020-04-03
  • 1970-01-01
相关资源
最近更新 更多