要求require期望恰好1个字符串文字参数的调用

时间:2018-08-23 21:11:01

标签: react-native

我想根据传递的道具渲染图像。首先注释掉的filePath是源。我已经尝试了几种变体,但是它总是给我同样的错误。 react文档并没有真正涵盖您在30多种不同场景下的处理方法。我可以向该组件添加状态,并使其包含所有文件变体,但这似乎比必要的工作还要多。 https://facebook.github.io/react-native/docs/images

question = input('Is The Bee Movie Good Or Bad (g/b)')
if question == "g":
  print(" ")
  print("Good")
else:
  print(" ")
 import time
 time.sleep(1)
 print(".")
 import time
 time.sleep(.5)
 print(".")
 import time
 time.sleep(.5)
 print(".")
 import time
 time.sleep(.5)
 print(".")
 import time
 time.sleep(.5)
 print(".")
 import time
 time.sleep(.1)
 for i in range(50):
 print("Error, System Shutdown Active")

1 个答案:

答案 0 :(得分:4)

如果可能的图像列表很大,则可以创建一个包含所有可能的图像的object,然后在Image source中传递图标名称。

let icons = {
  'sample1': require('./weatherimg/sample1.png')
  ,'sample2': require('./weatherimg/sample2.png')
  ,'sample3': require('./weatherimg/sample3.png')
}

render(){
  return(
    <Image source={icons[this.props.icon.icon]}/>
  )
}

因此,如果this.props.icon.iconsample1,它将加载该图像。

您还可以创建一个函数来验证请求的图标是否存在,以及是否不返回默认图标

let icons = {
  default: require('./weatherimg/default.png')
  ,'sample1': require('./weatherimg/sample1.png')
  ,'sample2': require('./weatherimg/sample2.png')
  ,'sample3': require('./weatherimg/sample3.png')
}

validateIcons(icon){
  return (icons[icon]) ? icons[icon] : icons['default'];
}

render(){
  return(
    <Image source={this.validateIcons(this.props.icon.icon)}/>
  )
}

This issue描述了您不需要动态文件,并提出了一个示例,说明在可能的选项很少的情况下如何处理它。

相关问题
最新问题