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)

相关推荐
Marshmallowc5 小时前
为什么 Webpack 要打包?从 HTTP/1.1 限制到 HTTP/2 多路复用原理详解
前端·http·webpack
xkxnq5 小时前
第四阶段:Vue 进阶与生态整合(第 58 天)(Vue 项目部署:打包、上线与服务器配置)
服务器·前端·vue.js
雾削木5 小时前
使用 ESPHome 的核心指令
java·前端·javascript·单片机·嵌入式硬件
Kratzdisteln5 小时前
【MCM】mermaid
前端·javascript·html
冰暮流星5 小时前
javascript如何实现将一个整数倒过来输出
开发语言·前端·javascript
0思必得05 小时前
[Web自动化] 爬虫合规指南:从法律红线到安全实践
前端·爬虫·自动化·web自动化
Code小翊5 小时前
Vue 3 核心语法速查
前端·javascript·vue.js
雨季6665 小时前
Flutter 三端应用实战:OpenHarmony “安全文本溢出处理调节器”
开发语言·前端·安全·flutter·交互
雨季6665 小时前
Flutter 三端应用实战:OpenHarmony “极简安全文本对齐调节器”
开发语言·前端·javascript·安全·flutter·交互