返回顶部
首页 > 资讯 > 前端开发 > 其他 >react children方法怎么用
  • 855
分享到

react children方法怎么用

childrenReact 2023-05-14 21:05:22 855人浏览 八月长安
摘要

本教程操作环境:windows10系统、React18.0.0版、Dell G3电脑。react children方法怎么用?React.Children详解React.Children提供了处理this.props.children的工具

react children方法怎么用

教程操作环境:windows10系统、React18.0.0版、Dell G3电脑。

react children方法怎么用?

React.Children详解

React.Children提供了处理this.props.children的工具,this.props.children可以任何数据(组件、字符串、函数等等)。React.children有5个方法:React.Children.map(),React.Children.forEach()、React.Children.count()、React.Children.only()、React.Children.toArray(),通常与React.cloneElement()结合使用来操作this.props.children。

  • React.Children.map()

React.Children.map()有些类似Array.prototype.map()。如果children是数组则此方法返回一个数组,如果是null或undefined则返回null或undefined。第一参数是children,即示例中的Father组件里的'hello world!'和() => <p>2333</p>函数。第二个参数是fucntion,function的参数第一个是遍历的每一项,第二个是对应的索引

function Father({children}) {
    return(
      <div>
      {React.Children.map(children, (child, index) => {
          ...
      })}
      </div>    
    )        
 }
<Father>
    hello world!
    {() => <p>2333</p>}
</Father>
  • React.Children.forEach()

  跟React.Children.map()一样,区别在于无返回。

  • React.Children.count()

React.Children.count()用来计数,返回child个数。不要用children.length来计数,如果Father组件里只有'hello world!'会返回12,显然是错误的结果。

function Father({children}) {
    return(
      <div>
      {React.Children.count(children)}
      </div>    
    )        
 }
<Father>
    hello world!
    {() => <p>2333</p>}
</Father>
  • React.Children.only()

  验证children里只有唯一的孩子并返回他。否则这个方法抛出一个错误。

function Father({children}) {
    return(
      <div>
      {React.Children.only(children)}
      </div>    
    )        
 }
<Father>
    hello world!
</Father>
  • React.Children.toArray()

  将children转换成Array,对children排序时需要使用

function Father({children}) {
    let children1 = React.Children.toArray(children);
    return(
      <div>
      {children1.sort().join(' ')}
      </div>    
    )        
 }
<Father>
    {'ccc'}
    {'aaa'}
    {'bbb'}
</Father>
//渲染结果: aaa bbb ccc

如果不用React.Children.toArray()方法,直接写children.sort()就会报错

a376ab77af9d229f20bd004649c4aa6.jpg

Example:

例如有这样的需求,完成一个操作需要3个步骤,每完成一个步骤,对应的指示灯就会点亮。

index.jsx

import * as React from 'react';
import * as ReactDOM from 'react-dom';
import {Steps, Step} from './Steps';
function App() {
    return (
        <div>
        <Steps currentStep={1}>  //完成相应的步骤,改变currentStep的值。如,完成第一步currentStep赋值为1,完成第二部赋值为2
            <Step />
            <Step />
            <Step />
            </Steps>
        </div>
    );
}
ReactDOM.render(<App />, document.getElementById('root'));

Steps.jsx

import * as React from 'react';
import './step.less';
function Steps({currentStep, children}) {
    return (
        <div>
         {React.Children.map(children, (child, index) => {
            return React.cloneElement(child, {
              index: index,
              currentStep: currentStep
            });
         })}
      </div>
    );
}
function Step({index, currentStep}: any) {
    return <div className={`indicator${currentStep >= index + 1 ? ' active' : ''}`} />;
}
export {Steps, Step};

steps.less

.indicator { display: inline-block; width: 100px; height: 20px; margin-right: 10px; margin-top: 200px; background: #f3f3f3; &.active {
    background: orange;
  }

以上就是react children方法怎么用的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: react children方法怎么用

本文链接: https://lsjlt.com/news/206469.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • react children方法怎么用
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react children方法怎么用?React.Children详解React.Children提供了处理this.props.children的工具...
    99+
    2023-05-14
    children React
  • react children方法如何使用
    这篇文章主要介绍“react children方法如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react children方法如何使用”文章能帮助大家解决问题。react children...
    99+
    2023-07-04
  • jQuery的children()方法怎么使用
    jQuery的children()方法用于获取匹配元素的所有直接子元素。使用方法如下:```$(selector).children...
    99+
    2023-09-05
    jQuery
  • 怎么用vue轮播组件实现$children和$children
    这篇文章主要介绍了怎么用vue轮播组件实现$children和$children的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用vue轮播组件实现$children和$children文章都会有所收获,下面...
    99+
    2023-07-04
  • 怎么在jQuery中利用children()方法遍历子元素
    怎么在jQuery中利用children()方法遍历子元素?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。jquery是什么jquery是一个简洁而快速的Java...
    99+
    2023-06-14
  • 怎么在jquery中使用children()方法筛选指定元素
    这篇文章给大家介绍怎么在jquery中使用children()方法筛选指定元素,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和...
    99+
    2023-06-14
  • react navigation方法怎么用
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react navigation方法怎么用?react-navigation 常用方法react-navigation是rn项目使用路由管理器;除了提供路...
    99+
    2023-05-14
    navigation React
  • vue-router中关于children的使用方法
    目录关于children的使用children的使用场景router配置中children配置不起作用关于children的使用 children的使用场景 比如页面左侧显示菜单,右...
    99+
    2024-04-02
  • react的dispatch方法怎么用
    本教程操作环境:Windows10系统、react18版、Dell G3电脑。react的dispatch方法怎么用?React中DispatchRedux store 有一个方法叫 dispatch。更新 state 的唯一方法是调用 s...
    99+
    2023-05-14
    dispatch React
  • react的diff方法怎么使用
    今天小编给大家分享一下react的diff方法怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。react的diff方法...
    99+
    2023-07-04
  • react用g6的方法
    本篇文章和大家了解一下react用g6的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。react用g6使用方法:1、通过“npm install --save @antv/g6”命令在项目引入AntV G6;2、使用...
    99+
    2023-07-04
  • React插槽使用方法
    目录需求 核心思想 React实现插槽的两种方式需求 我们自己写了个组件,引用组件时想要在组件中写入内容,并且写入的内容可以被组件识别、控制,用过Vue的同学肯定会立刻想到slot...
    99+
    2024-04-02
  • React父组件怎么调用子组件的方法
    本教程操作环境:Windows7系统、react18版、Dell G3电脑。在React中,我们经常在子组件中调用父组件的方法,一般用props回调即可。但是有时候也需要在父组件中调用子组件的方法,通过这种方法实现高内聚。有多种方法,请按需...
    99+
    2023-05-14
    React.js 前端
  • react中map方法如何用
    本篇内容主要讲解“react中map方法如何用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react中map方法如何用”吧! 在r...
    99+
    2024-04-02
  • react navigation方法如何使用
    本篇内容介绍了“react navigation方法如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!react navigation会...
    99+
    2023-07-04
  • React中使用Mobx的方法
    目录一、Mobx前端状态管理框架 基础概念?1. 什么是Mobx2. 什么是状态管理?3. 为什么需要状态管理?状态管理的一般思想(Flux)二、mobx的用法1. 安装 mobx2...
    99+
    2023-02-03
    React使用Mobx React使用Mobx
  • React浅析Fragments使用方法
    目录概述动机短语法带key 的Fragments概述 可以将子列表分组,而无需向DOM添加额外节点简单理解:空标签<React.Fragment></React.F...
    99+
    2022-12-03
    React Fragments的使用 React Fragments
  • React Context详解使用方法
    目录一、概述二、APIReact.createContextContext.ProviderClass.contextTypeContext.ConsumerContext.disp...
    99+
    2022-12-03
    React Context React Context用法
  • react的diff方法是什么
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react的diff方法是什么?一、Diff算法的作用 渲染真实DOM的开销很大,有时候我们修改了某个数据,直接渲染到真实dom上会引起整个...
    99+
    2023-05-14
    React
  • React Native react-navigation导航怎么用
    这篇文章将为大家详细讲解有关React Native react-navigation导航怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、开源库介绍Fb推荐使用库...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作