Skip to main content

条件渲染 ConditionalRender

用于根据条件动态渲染某段 JSX,提供简洁的写法与封装。支持显式 Show 包裹形式,便于控制样式隐藏而不销毁组件。

最常用的组件之一。

📦 引入方式

import { ConditionalRender } from '@npmqg/react-ui-core';

🧩 使用示例

📚 函数形式渲染

conditionaltrue 时渲染 children 返回值,否则渲染 noMatch 返回值。

未登录

📚Show 形式(样式隐藏)

conditionalfalse 时会通过 CSS 类 .ConditionalRenderHidden 隐藏元素,但不销毁它。

我是可见的

🧩 Props

组件名属性类型默认值说明
ConditionalRenderconditionalbooleanfalse是否满足渲染条件
children() => React.ReactNode() => null条件为真时返回的内容
noMatch() => React.ReactNode() => null条件为假时返回的内容
ConditionalRender.Showconditionalbooleantrue是否显示内容(为假时隐藏)
children() => React.ReactNode() => null包裹的显示内容
classNamestring''可选类名(支持额外样式)

📌 注意事项

  • childrennoMatch 都是函数形式,这是为了延迟执行渲染逻辑,避免无效计算。
  • Show 组件不会销毁组件,只是样式隐藏,适用于保留 DOM 状态的场景(例如表单、动画、懒加载等)。
  • 若使用时出现 TypeScript 报错,请确保你的 IConditionalRenderPropsIConditionalRenderShowProps 类型定义正确。