需要一个包含一个var in react-native的var

时间:2016-11-02 11:54:06

标签: javascript reactjs react-native var

我正在使用本地反应,我正在为我的按钮创建一个类。该按钮包含图像。在这里,我在视图中减速了我的按钮。

var imageUrl = { //this is a var from a JSON object there could be more than 20 different images 
          normal: "../assets/images/emoticons/1.png",
          selected: "../assets/images/emoticons/1-selected.png"
}

<Button key={index}
        selected={true}
        onPress={onSelect}
        imageUrl={imageUrl} />

在&#39;按钮&#39; I类创建了一个_renderImage函数,用于设置按钮中的图像。

_renderImage(imageUrl){
    let image = (selected === true) ? require(imageUrl.normal) : require(imageUrl.selected); //get the right image url

    console.log('../assets/images/emoticons/1.png'); //logs  '../assets/images/emoticons/1.png'
    console.log(typeof('../assets/images/emoticons/1.png')); //logs string
    console.log(image); //logs '../assets/images/emoticons/1.png'
    console.log(typeof(image)); //logs string

    return (
      <Image source={require(image)} />
    );

}

此功能出错。在此处的屏幕截图中,您可以看到错误。 Error screenshot in iOS simulator

当我手动设置<Image source= require('../assets/images/emoticons/1.png)} />时,它会渲染图像。因此图像存在于此位置。

像这样的类似问题并不能解决我的问题: Trouble requiring image module in React Native

1 个答案:

答案 0 :(得分:1)

我认为目前在React Native中不可能,根据文档:

  

请注意,要使其正常工作,必须静态了解require中的图像名称。

来自https://facebook.github.io/react-native/docs/images.html