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)

相关推荐
小雨下雨的雨2 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
ZC跨境爬虫6 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
fangdengfu1236 小时前
ES分析系统各个服务日志占用量
java·前端·elasticsearch
JustHappy8 小时前
古法编程秘籍(六):程序到底是怎么跑起来的?从 IO 到中断,一次讲明白
前端·后端·全栈
HYCS8 小时前
用pixi.js实现fabric.js(六):从线性代数的角度理解编辑器交互
前端·javascript·canvas
卷帘依旧8 小时前
useImperativeHandle的作用
前端
卷帘依旧8 小时前
Hooks在Fiber上的存储原理
前端
you45808 小时前
学成在线--day02 CMS前端开发(含Vue基础知识得回顾)
前端·javascript·vue.js
xiaofeichaichai9 小时前
虚拟 DOM
前端·javascript·vue.js