【问题标题】:problem with react prop where my function works in one context but not anotherreact prop 的问题,我的函数在一种情况下工作,但在另一种情况下不工作
【发布时间】:2020-09-06 05:00:53
【问题描述】:

这两个函数在我看来是一样的。但只有第一个生成来自this.state.images 的图像,我希望能帮助解决这个可能很简单的错误。

这行得通

   {this.state.images.map((image, i) => (
     <Image src={image.img}  />
   ))}  

这不起作用

generateImage() {
 this.state.images.map((image) => {
  return image.img;
 });
}

<Image src={this.generateImage()}  />

编辑:

现在可以正确显示了。我现在正试图让它只显示一个图像,其状态为beenCalledfalse。问题是它将渲染所有状态为beenCalledfalse 的图像。不知道如何让 if 语句一旦被执行就停止。

generateImage() {
 return this.state.images.map((image, i) => {
   if(image.beenCalled === false) {
    return  <Image src={image.img} index={i} />
   }
 });
}

【问题讨论】:

    标签: javascript reactjs components state prop


    【解决方案1】:

    你需要返回你的数组:

    generateImage() {
     return this.state.images.map((image) => {
      return image.img;
     });
    }
    

    另外,如果您有多张图片,通常需要为每张图片创建一个&lt;Image src={...} /&gt;

    【讨论】:

    • 完全有效!必须退回两件东西这么奇怪?
    • 嗯,这里有 2 个函数 :) 每个函数都需要返回一个值。
    • 嗯是有道理的。遇到问题
    • 没问题 :) 别忘了接受答案!我要我的代表! ^^
    猜你喜欢
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    相关资源
    最近更新 更多