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

在React JSX中使用if语句

乌靖
2023-03-14
问题内容

您可以像这样在JSX中使用if语句吗?

    var chartGraphContent =
        <div className={"chartContent"}>
            if(this.state.modalityGraph['nca'] > 0){
                <div className={"chart-container"}>
                    <Chart
                        chartType="ColumnChart"
                        data = { this.state.modalityGraph?this.state.modalityGraph.chartData['units']:emptyDataRows }
                        options={chartOptions}
                        graph_id="modalitiesChart"
                        width="100%"
                        height="250px"
                    /> 
                </div>
            }
        </div>;

像上面的东西?是否可以根据条件使用JSX?


问题答案:

使用条件渲染,并且由于没有其他情况,因此&&为了简洁起见,可以使用而不是三元运算符:

之所以起作用,是因为在JavaScript中,true && expression总会求和expression,并且false && expression总会求和false

因此,如果条件为true,则&&之后的元素将出现在输出中。如果为假,React将忽略并跳过它。

从而:

   <div className={"chartContent"}>
        {this.state.modalityGraph['nca'] > 0 &&
            <div className={"chart-container"}>
                <Chart
                    chartType="ColumnChart"
                    data = { this.state.modalityGraph?this.state.modalityGraph.chartData['units']:emptyDataRows }
                    options={chartOptions}
                    graph_id="modalitiesChart"
                    width="100%"
                    height="250px"
                /> 
            </div>
        }
    </div>

仅当条件为true时才渲染JSX。如果为假,React将不会渲染任何内容。请记住,您必须使用来将内联JavaScript表达式包装在JSX中{ … },而不仅仅是将其包含在JSX中。

直接使用if / else语句是JSX会导致它实际上以文本形式呈现为文本,这是不希望的。您也不能在内联JavaScript表达式中使用它们,因为if
语句 不是 表达式 ,因此这 行不通

{
  if(x) y
}


 类似资料:
  • 行动时刻 - 在unlang中使用if语句 if语句本身并不复杂。 它具有以下格式: if(condition){ ... } 由于其许多可能性,条件部分可能变得复杂。 使用if语句获取返回码 我们现在将查看模块的返回代码,并使用此代码与指定的条件进行比较。 FreeRADIUS中的每个模块都需要在调用时返回代码。 随后可以将此代码的值用作if语句中的条件检查。 使用if语句授权用户 如

  • 问题内容: 在C语言中,我可以编写一个if语句 但是,当我尝试在Java中执行相同操作时,编译器会告诉我“不兼容的类型”,并说我需要一个而不是一个。有什么方法可以用Java编写C代码吗? 问题答案: 以下任何一项都可以为您工作:

  • 问题内容: 我正在寻找某种if语句来控制不同元素的状态。 我已经尝试了以下内容,但无法编译 问题答案: LESS具有用于mixin的保护表达式,而不是单个属性。 因此,您将创建一个像这样的mixin: 并通过调用或(或完全不调用)将其打开或关闭。

  • 问题内容: 如何在JSON中使用if语句这是代码:............................................... .................................................................. 这是必需的结果,如下所示: 实际上,这种方式是错误的,并且会导致JavaScript语法错误。 问题答案: 那是普通的J

  • 问题内容: 在Python中使用IF语句时,必须执行以下操作才能使“层叠”正常工作。 检查“等于”时,是否有办法使Python接受多个值?例如, 问题答案: if job in (“mechanic”, “tech”): print “awesome” elif job in (“tool”, “rock”): print “dolt” 括号中的值是一个元组。该运营商检查,看是否右手柄元组内的某处

  • 我只是在写一个简单的if语句。第二行仅在用户键入“Good!”时计算为true。如果键入“Great!”,则将执行else语句。我可以不使用或像这样吗?我需要逻辑的还是逻辑的?