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 拿到想要的数据进行处理

这里我没有写单插槽定义

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

相关推荐
子兮曰4 小时前
async/await高级模式:async迭代器、错误边界与并发控制
前端·javascript·github
恋猫de小郭4 小时前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
GIS之路6 小时前
ArcGIS Pro 中的 Notebooks 入门
前端
IT_陈寒7 小时前
React状态管理终极对决:Redux vs Context API谁更胜一筹?
前端·人工智能·后端
gxp1238 小时前
初学React:请求数据参数未更新 && 数据异步状态更新问题
react.js
Kagol8 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉8 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau8 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生8 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
天蓝色的鱼鱼8 小时前
模块化与组件化:90%的前端开发者都没搞懂的本质区别
前端·架构·代码规范