react 插槽

问题开发当中会经常出现组件十分相似的组件,只有一部分是不同的

解决: 父组件:在引用的时候

html 复制代码
import { Component } from "react";
import Me from "../me";

const name = <div>名称</div>
class  Shoop extends Component {
   

    render(){
         return <div style={{display: "flex"}}>
                {name}
              <Me>
                 <div slot="img">
                  <img src="https://tse2-mm.cn.bing.net/th/id/OIP-C.GwJCNqHxfwmnsMUpKG6tmAHaHa?w=208&h=207&c=7&r=0&o=5&pid=1.7"></img>
                 </div>
                 <div slot="voide">
                 视频
                 </div>
              </Me>
              <Me>
              <div slot="voide">
                 视频
                 </div>
              </Me>
              <Me>
                 <div></div>
              </Me>
         </div>
    }
}
export default Shoop

子组件

复制代码
 const Me = (props)=> {
   const newChildren =  {}
  
  if(props.children  && props.children.length > 1) {
    console.log(props.children,"props.childrenprops.childrenprops.children")
      props.children.map((Item) => {
      newChildren[Item.props.slot] = {}
      newChildren[Item.props.slot]["children"] =   Item.props.children
      
    })
  }
  return (<div style={{height:"100px",width:"200px",background:"red"}}>
           <div>名称</div>
           <div> 图片自定义区域  {newChildren?.img  ? newChildren?.img?.children : ""} </div>
           <div> {newChildren?.voide  ? newChildren?.voide?.children : ""}</div>
           
  </div>)
}
export default Me

父组件设置 solt 其实设置什么都可以,只是vue 通常以solt 为定义出于习惯

当父组件设置过数据以后,自组件可以通过props.childen 拿到想要的数据进行处理

这里我没有写单插槽定义

如果写多个插槽的时候要考虑单个的问题,因为单个插槽传递过来是对象形式的

相关推荐
沐森2 分钟前
桌面右键功能开发
前端框架·操作系统
前端 贾公子5 分钟前
tailwind ( uni ) === 自定义主题
前端
独立开阀者_FwtCoder13 分钟前
大制作!在线 CSS 动效 编辑神器!太炫酷了!
前端·javascript·github
白白李媛媛15 分钟前
vue3中实现echarts打印功能
前端·vue.js·echarts
一只卡比兽15 分钟前
全栈Node.js开发:集成第三方AI提供商Token的完整指南
javascript
尘心cx16 分钟前
前端-HTML-day2
前端·html
歘chua18 分钟前
组件封装:封装一个可复用的crud界面的思路
前端
徐小夕19 分钟前
牛!用vue3实现的多维表格编辑器,小白也能轻松构建复杂数据报表!
前端·javascript·vue.js
程十六20 分钟前
工匠指南:从 Vue 3 源码中学习高质量代码的艺术
javascript·vue.js
爱编程的喵21 分钟前
CSS动画实战:从零打造一个超萌的小球亲亲动画
前端·css