React JSX中如何进行多条件判断实现条件渲染?
React JSX多条件渲染实现说明
JSX 中{}包裹的内容支持所有合法的JavaScript表达式,完全可以同时组合多个判断条件实现校验,你提到的写法本身不存在语法错误,可以直接运行使用。
如果要优化写法的可读性,可参考以下两种常用实现方案:
- 方案1:简化原有三元表达式,将
loading === false简写为!loading,逻辑完全等价
{ filteredPosts.length === 0 && !loading ? "该用户暂无发布的帖子" : <Posts loading={loading} fetchData={fetchData} posts={filteredPosts} /> }
- 方案2:拆分分支括号,适合条件更复杂的场景,降低阅读成本
{/* 条件匹配时展示空提示,否则渲染帖子列表 */} { (filteredPosts.length === 0 && !loading) ? ( <div className="empty-tip">该用户暂无发布的帖子</div> ) : ( <Posts loading={loading} fetchData={fetchData} posts={filteredPosts} /> ) }
常见报错排查:如果运行时出现语法错误,优先检查两个场景:
- 三元运算符的
?和:是否完整,没有缺漏filteredPosts、loading、Posts等变量和组件在当前作用域可正常访问,标签没有未闭合的问题
内容的提问来源于stack exchange,提问作者benleem
相关产品推荐
相关产品推荐

