react19【动态插槽】

使用场景

比如你在做一个 仪表盘页面(Dashboard),它可能会显示:

  • 折线图(LineChart)
  • 实时统计(RealTimeStats)
  • 通知中心(NotificationCenter)
    ......

实现方案

用一个统一的 slots 对象,把每个插槽的"名字"作为 key,对应的 React 组件作为 value。

html 复制代码
// 使用端
<Dashboard slots={{
  chart: LineChart,
  stats: RealTimeStats,
  alerts: NotificationCenter
}} />

子组件的内部实现

ts 复制代码
const Dashboard = ({ slots }) => {
  return Object.entries(slots).map(([slotName, Component]) => (
    <div key={slotName} className={`slot-${slotName}`}>
      <Component />
    </div>
  ));
};
  • 把 slots 对象拆成数组

    ts 复制代码
    [
    	["chart", LineChart], 
    	["stats", RealTimeStats], 
    	["alerts", NotificationCenter]
    ]
  • 用 map 遍历每个插槽项

    每一项都有个名字(比如 "chart")和对应组件(比如 LineChart)

相关推荐
Novlan18 分钟前
@tdesign/uniapp 常见问题
前端
sww_10269 分钟前
SAA ReactAgent工作原理
开发语言·前端·javascript
linux_cfan12 分钟前
拒绝“黑屏”与“哑剧”:Web视频播放器UX体验与自动播放选型指南 (2026版)
前端·javascript·音视频·html5·ux
小庄梦蝶19 分钟前
宝塔使用nodejs管理器下载nodejs版本失败解决方式之一
linux·运维·前端
be or not to be22 分钟前
假期js学习汇总
前端·javascript·学习
SuperEugene24 分钟前
日期与时间处理:不用库和用 dayjs 的两种思路
前端·javascript
菜鸟小芯1 小时前
【GLM-5 陪练式前端新手入门】第一篇:从 GLM-5 提示到实践,完成前端入门第一步
前端·人工智能
木斯佳1 小时前
前端八股文面经大全:字节跳动交易与广告前端一面(2026-2-10)·面经深度解析
前端
a1117761 小时前
纸张生成器(html开源)
前端·开源·html
心.c2 小时前
虚拟滚动列表
前端·javascript·vue.js·js