react插槽--默认插槽,具名插槽

news/2024/7/15 18:23:43 标签: react.js, javascript, 前端

不具名插槽

javascript">Props.js
import Layout from "./Layout";
// 函数式组件传值
export default function Props() {
  return (
    <Layout title="函数式传值">
    <div>
        <h3>函数式传值</h3>
        <p>不具名插槽</p>
    </div>
    </Layout>
  )
javascript">Layout.js
import React, { Component } from "react";
export default class Layout extends Component {
  componentDidMount() {
    const { title = "react" } = this.props;
    document.title = title;
  }
  render() {
    const {children,title = "react"} = this.props
    return (
      <div style={{backgroundColor:"red"}}>
        <h3>{title}</h3>
        {children}
      </div>
    );
  }
}

运行效果:
在这里插入图片描述

具名插槽

javascript">Props.js
import React, { Component } from "react";
import Layout from "./Layout";
export default function Props() {
  return (
    <Layout title="函数式传值">
      {{
        btn: <button>按钮</button>,
        content: "我是内容",
    }}
    </Layout>
  )
}
javascript">Layout.js
import React, { Component } from "react";
export default class Layout extends Component {
  componentDidMount() {
    const { title = "react" } = this.props;
    document.title = title;
  }
  render() {
    const {children,title = "react"} = this.props
    const a = [];
    if (children.$$typeof) {
      a.push(children);
    } else {
      for (let item in children) {
        a.push(children[item]);
      }
    }
    return (
      <div style={{backgroundColor:"red"}}>
        <h3>{title}</h3>
        //单独执行某一个
        {children.btn}
        //全部遍历执行
         {a.map((item, index) => {
          return <div key={"child" + index}>{item}</div>;
        })}
      </div>
    );
  }
}

运行效果:
在这里插入图片描述


http://www.niftyadmin.cn/n/509501.html

相关文章

【React】props 属性用法

Props进阶一、基本用法1.1、类组件中使用1.2、函数组件使用二、children 属性三、props-type 包的使用3.1、PropTypes 检查类型3.2、defaultProps 设置默认值一、基本用法 主要作用是让使用该组件的父组件可以传入参数来配置该组件。它是外部传进来的配置参数&#xff0c;组件内…

React 父子组件数据变化实时更新

父组件数据变化&#xff0c;子组件数据更新方法&#xff1a; 利用componentWillReceiveProps方法 componentWillReceiveProps(nextProps){this.setState({isLogin: nextProps.isLogin,userInfo: nextProps.userInfo,});}子组件数据变化&#xff0c;通知父组件 // 父组件&…

【React】state 状态用法

State一、简单介绍二、基础用法2.1、定义状态2.2、修改状态三、状态提升四、同步和异步一、简单介绍 如果将 state 与 vue 中的某个点做类比的话&#xff0c;则其相当于 vue 组件中的 data &#xff0c;作用就是用于存储当前组件中需要用到的数据。 状态就是组件描述某种显示情…

react 封装树形组件

TreePage.js import React, { Component } from "react"; import TreeNode from "../components/TreeNode"; const treeData {key: 0, //标识唯一性title: "全国", //节点名称显示children: [//子节点数组{key: 6,title: "北方区域"…

【styled-components】css-in-js 热门库

文章目录一、简单简介二、基本使用三、样式继承四、属性传递一、简单简介 css-in-js 是一种技术&#xff0c;而不是一个具体的库的实现。简单来说 css-in-js 就是将应用的 css 样式写在 JavaScript 文件里面&#xff0c;而不是独立为一些 css、scss或less这类的文件&#xff0c…

【react-transition-group】react 过渡动画插件

文章目录一、简介及使用二、列表过渡动画三、路由过渡动画一、简介及使用 在项目中可能会有一些动画效果展示或页面切换效果&#xff0c;使用css动画的方式虽然可以实现&#xff0c;但比较局限&#xff0c;涉及到一些js动画的时候就没法处理了。 react-transition-group是react…

react-- 常见的组件优化

react-- 常见的组件优化 ShouldComponentUpdate 渲染前会进行比较&#xff0c;如果返回的react元素和之前的想用就不需要render&#xff0c;可以看下面的例子 正常情况下&#xff1a; import React, { Component } from "react";export default class ShouldCompo…

【React】immutable.js 基础教程

文章目录JS中数据修改问题介绍常用APIobject转Map对象array转List对象JS转immutableimmutable转JSRedux中集成用它的原因是为了解决问题&#xff1a;解决项目当中状态大规模管理的深拷贝的问题&#xff08;防止对象/数组因为引用传递而在使用过程中出现的各种问题&#xff09;。…