当前位置: 首页 > 面试题库 >

React js中的条件渲染

白嘉石
2023-03-14
问题内容

我在渲染中添加了一个条件,突然它停止显示。这是我正在使用的代码。

 {this.state.sdata.map((sdata, i) => 
   {i < 5 && 
    <ServiceNavItem key={i} onClick={()=>this.handleSelect(i)}{...sdata} /> 
   }
  )
 }

我只想显示sdata中的4个项目。有人请帮忙。


问题答案:

您忘记returnmapbody中的元素,以及 i > = 5*之后的return null所有条目所需的元素。array *

这样写:

{this.state.sdata.map((sdata, i) => {
       if(i < 5) 
          return <ServiceNavItem key={i} onClick={()=>this.handleSelect(i)}{...sdata} /> 
       return null;
   })
}

但我建议您使用for loop而不是map仅创建5个元素。

如果要使用,map则首先使用
slice

并创建array5个元素的子元素,然后map在其上使用。

像这样:

{this.state.sdata.slice(0,5).map((sdata, i) => {
     return <ServiceNavItem key={i} onClick={()=>this.handleSelect(i)}{...sdata} /> 
})}


 类似资料:
  • 问题内容: 我想在我的ajax请求完成后呈现我的组件。 在下面您可以看到我的代码 但是我收到下面的错误,因为我正在ajax请求的done方法内返回render。 有没有办法在开始渲染之前等待我的ajax请求结束? 问题答案: 有两种处理方法,您可以选择哪种方法取决于应该拥有数据的组件和加载状态。 将Ajax请求移至父级并有条件地渲染该组件: 将Ajax请求保留在组件中,并在加载时有条件地渲染其他内

  • 问题内容: 快速提问。我正在学习React JS。 创建组件时,我们在render函数中提供要渲染的组件的html模板。到目前为止,我只看到带有很少部分html的小型组件,但是我只是想知道如果我们的组件带有巨大的html模板会发生什么情况,有没有办法提供指向单独的html文件的路径?还是我们被迫直接在render函数中编写所有html?谢谢! 问题答案: 您应该始终将其编写在render函数中。您

  • Mpx中的条件渲染与原生小程序中完全一致,详情可以查看这里 简单示例如下: <template> <view class="container"> <!-- 通过 wx:if 的语法来控制需要渲染的元素 --> <view wx:if="{{ score > 90 }}"> A </view> <view wx:elif="{{ score > 60 }}"> B </

  • 非常简单的例子:我的App.js文件读取 我的Test.js文件上写着 在控制台中,渲染总是打印两次。为什么啊?

  • 您好,我有以下代码可以有条件地在我的页面中呈现组件: 它得到答案并呈现组件,但为了在我的页面上看到它,我需要刷新页面。我如何解决这个问题?有什么建议吗?

  • 主要内容:React 实例,元素变量,React 实例,与运算符 &&,React 实例,三目运算符,阻止组件渲染,React 实例在 React 中,你可以创建不同的组件来封装各种你需要的行为。然后还可以根据应用的状态变化只渲染其中的一部分。 React 中的条件渲染和 JavaScript 中的一致,使用 JavaScript 操作符 if 或条件运算符来创建表示当前状态的元素,然后让 React 根据它们来更新 UI。 先来看两个组件: 我们将创建一个 Greeting 组件,它会根据用户