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)

相关推荐
进击切图仔19 小时前
执行 shell 脚本 5 种方式对比
前端·chrome
局i19 小时前
React 简单地图组件封装:基于高德地图 API 的实践(附源码)
前端·javascript·react.js
执行部之龙19 小时前
AI对话平台核心技术解析
前端
yuki_uix19 小时前
防抖(Debounce):从用户体验到手写实现
前端·javascript
HelloReader19 小时前
Flutter 进阶 UI搭建 iOS 风格通讯录应用(十一)
前端
张元清19 小时前
每个 React 开发者都需要的 10 个浏览器 API Hooks
前端·javascript·面试
HelloReader19 小时前
Flutter ListenableBuilder让界面自动响应数据变化(十)
前端
yuki_uix19 小时前
深拷贝:JavaScript 引用类型的完全复制之道
前端·javascript
默默学前端20 小时前
JavaScript 中 call、apply、bind 的区别
开发语言·前端·javascript
宁雨桥20 小时前
前端设计模式面试题大全
前端·设计模式