首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在JSX代码中嵌入if表达式的方法?

在JSX代码中嵌入if表达式的方法?
EN

Stack Overflow用户
提问于 2015-07-14 10:26:11
回答 1查看 1K关注 0票数 4

我猜进入function标记的东西必须是function标记或字符串;返回标记或字符串的函数;返回它们的标记或字符串的集合。

因此,此处的if语句无效:

代码语言:javascript
复制
return <div> 
        if(something){
           <ProjectType typ={this.state.type} onChange={this.changeType}/>
        }
        And the choice is {type[this.state.type]}
      </div>;

因此,显而易见的方法是将该if表达式移动到满足条件时返回标记的函数maybe_render中。

代码语言:javascript
复制
return <div> 
        maybe_render(something, this.state.type, this.changeType)
        And the choice is {type[this.state.type]}
      </div>;

问题是,一些片段会有大量的函数调用,而这些函数几乎没有逻辑。而不是5行代码段,我们可能有一个5行代码段,其中包含了对非常小的函数的多次调用。

在JSX代码中嵌入if表达式的好方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-14 10:45:29

如果没有太多的逻辑或重复使用的原因,我通常使用三元if语句:

代码语言:javascript
复制
return (
    <div>
        {doSomething ? something : null}
        Something else
    </div>
);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31404038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档