iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >React中props使用介绍
  • 363
分享到

React中props使用介绍

ReactpropsReactprops使用介绍 2022-12-21 15:12:29 363人浏览 安东尼
摘要

目录1.继续深入state2.props3.限制Props的传递类型4.函数接收props参数5.插槽1.继续深入state state有两种用法: setState({}) 和 s

1.继续深入state

state有两种用法:

setState({}) 和 setState(()=>{})

第一种用法本质是:我写了这个属性,然后进行覆盖操作。

第二种用法好处是:回调函数中的第一个参数是state。这样的话看起来获取到原先state上的数据也更加简单!

setState修改数据实现响应式的本质

在每次修改之后,会重新调用render函数。

2.props

什么是props?

​ props 是组件传递的参数。子组件通过this.props来接受!

在类组件中:

props通过子组件的this.props来接受父组件传过来的props值。

组件是可以复用的,最常见的就是循环来使用。与Vue不同的是:React他没有指令这一说法。jsx语法会自动循环数组。通常处理数组都采用高阶函数。例如

没有循环的用法:

 <div class="box1"></div>
    <script src="../../js/react.development.js"></script>
    <script src="../../js/react-dom.development.js"></script>
    <script src="../../js/babel.min.js"></script>
    <script type="text/babel">
        // 子组件
        class Info extends React.Component {
            render() {
                const { name, age, sex } = this.props
                return <div>
                    <h2>子组件Child</h2>
                    <div>姓名: {name}</div>
                    <div>年龄: {age}</div>
                    <div>性别: {sex}</div>
                </div>
            }
        }
        // 父组件
        class Demo extends React.Component {
            state = {
                arr: [
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    },
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    },
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    }
                ]
            }
            render() {
                return (
                    <div>
                        <h1>我是Demo组件</h1>
                        <hr />
                        <Info name="耀阳" age="18" sex="男"></Info>
                        <Info name="吕德华" age="18" sex="男"></Info>
                        <Info name="北幕" age="18" sex="男"></Info>
                    </div>
                )
            }
        }
        ReactDOM.render(<Demo></Demo>, document.querySelector('.box1'))
    </script>

有循环的用法

  <div class="box1"></div>
    <script src="../../js/react.development.js"></script>
    <script src="../../js/react-dom.development.js"></script>
    <script src="../../js/babel.min.js"></script>
    <script type="text/babel">
        // 子组件
        class Info extends React.Component {
            render() {
                const { name, age, sex } = this.props
                return <div>
                    <h2>子组件Child</h2>
                    <div>姓名: {name}</div>
                    <div>年龄: {age}</div>
                    <div>性别: {sex}</div>
                </div>
            }
        }
        // 父组件
        class Demo extends React.Component {
            state = {
                arr: [
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    },
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    },
                    {
                        name: '北幕',
                        age: 18,
                        sex: "man"
                    }
                ]
            }
            render() {
                return (
                    <div>
                        <h1>我是Demo组件</h1>
                        <hr />
                        {
                            this.state.arr.map(item => <Info name={item.name} age={item.age} sex={item.sex} ></Info>)
                        }
                    </div>
                )
            }
        }
        ReactDOM.render(<Demo></Demo>, document.querySelector('.box1'))
    </script>

Props几个特点:

子组件不能修改传递的Props数据,只能由父组件来修改,或者从数据的源头来修改。

父组件传递参数,可以是其他的类型,利用jsx语法:{},跟vue的插值语法类似:都是js表达式!

父组件传递多个数据{…obj}

对象解构还是对象!!!

<div class="box1"></div>
    <script src="../../js/react.development.js"></script>
    <script src="../../js/react-dom.development.js"></script>
    <script src="../../js/babel.min.js"></script>
    <script type="text/babel">
        // 子组件
        class Info extends React.Component {
            render() {
                const { name, age, sex } = this.props
                return <div>
                    <h2>子组件Child</h2>
                    <div>姓名: {name}</div>
                    <div>年龄: {age}</div>
                    <div>性别: {sex}</div>
                </div>
            }
        }
        // 父组件
        class Demo extends React.Component {
            state = {
                obj: {
                    name: "耀阳1", age: "18", sex: "男"
                }
            }
            render() {
                return (
                    <div>
                        <h1>我是Demo组件</h1>
                        <hr />
                        <Info {...this.state.obj}></Info>
                        <Info name="吕德华" age="18" sex="男"></Info>
                        <Info name="北幕" age="18" sex="男"></Info>
                    </div>
                )
            }
        }
        ReactDOM.render(<Demo></Demo>, document.querySelector('.box1'))
    </script>

3.限制Props的传递类型

子组件接收父组件的类型,父组件可以随意的定义,

​ a. 子组件限制父组件传递的数据类型

​ b. 引入prop-types库

​ c. 需要在类上设置一个属性 propTypes,谁想限制给谁设置。写在类上面方法(静态方法)

​ d. 设置默认值 defaultProps = {}

这个不需要记住,用的时候查阅即可!

限制类型的简写:可以使用static静态方法。

4.函数接收props参数

函数中的state在hook中才能使用。暂时先不考虑。

函数的第一个参数就是props,在函数中只需要用第一个参数来接受即可

5.插槽

props下面的Childrene

到此这篇关于React中props使用介绍的文章就介绍到这了,更多相关React props内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: React中props使用介绍

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • React中props使用介绍
    目录1.继续深入state2.props3.限制Props的传递类型4.函数接收props参数5.插槽1.继续深入state state有两种用法: setState({}) 和 s...
    99+
    2022-12-21
    React props React props使用介绍
  • Vue中props用法介绍
    ​前言: 在Vue中通过props,可以将原本孤立的组件串联起来,也就是可以子组件可以接收父组件传递过来的data,比如子组件想要引用父组件的数据,那么在props里面声明一个变量...
    99+
    2024-04-02
  • React中props使用教程
    目录1. children 属性1.1 React.cloneElement方法1.2 React.Children.map方法2. 类型限制(prop-types)3. 默认值(d...
    99+
    2024-04-02
  • props怎么在react中使用
    这篇文章给大家介绍props怎么在react中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。组件的props( props是一个对象 )作用:接收传递给组件的数据特点:可以给组件传递任意类型的数据props是只读的...
    99+
    2023-06-14
  • React中10种Hook的使用介绍
    目录React Hook是什么? React目前提供的Hook 1.useState 2.useEffect & useLayoutEffect 3.useMemo &...
    99+
    2024-04-02
  • React Fragment介绍与使用详解
    目录前言 Fragments出现动机 React Fragment介绍与使用 <React.Fragment> 与 <>区别 前言 在向 DOM 树批量添加...
    99+
    2024-04-02
  • React-Native中props怎么用
    这篇文章将为大家详细讲解有关React-Native中props怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。props就是属性,是为了描述一个组件的特征而存在的。...
    99+
    2024-04-02
  • React Immutable使用方法详细介绍
    目录1. 介绍2. 优缺点3. 对象处理4. 数组处理5. 优化组件渲染6. immutable和redux集合使用1. 介绍 假设当前 redux 的大小为 1G,现在要修改 re...
    99+
    2024-04-02
  • React中setState/useState的使用方法详细介绍
    目录一、React如何使用setState/useState的最新的值A.使用setState的最新的值B.使用useState的最新的值二、React中setState/useSt...
    99+
    2023-05-14
    React setState与useState React setState React useState
  • React使用ref方法与场景介绍
    目录摘要1.ref的挂载2.使用ref的三种方式3.ref的使用场景摘要 不管在Vue中还是React,如果我们想使用一个元素的DOM,不需要通过JS中操纵DOM的方法,它们提供了一...
    99+
    2022-11-13
    React ref React ref用法
  • React高阶组件使用详细介绍
    首先 我们要了解什么是高阶组件 第一 高阶组件必须是一个函数 第二 高阶组件接收一个参数,这个参数也必须是一个组件 第三 他的返回值 也是一个组件 至于高阶组件的作用 我们后续会讲解...
    99+
    2023-01-29
    React高阶组件 React高阶组件的使用 React高阶组件的作用
  • 如何进行React Fragment介绍与使用
    这篇文章将为大家详细讲解有关如何进行React Fragment介绍与使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在向 DOM 树批量添加元素时,一个好的实践是创建一个document...
    99+
    2023-06-25
  • React组件的应用介绍
    目录1. 介绍2. 组件的创建方式2.1 函数创建组件2.2 类组件3. 父子组件传值3.1 函数组件3.2 类组件1. 介绍 组件允许你将 UI 拆分为独立可复用的代码片段,并对每...
    99+
    2024-04-02
  • Python中itertools简介使用介绍
    目录Python中itertools模块一、 简介二、 使用介绍1、 常用迭代器1.1 chain1.2 groupby2、 无穷迭代器2.1 count2.2 cycle2.3 r...
    99+
    2022-12-28
    Python中itertools Python itertools详解 Python itertools
  • React状态管理Redux的使用介绍详解
    目录1. 简介2. 核心概念3. redux工作流4. 模拟redux工作流程5. 使用redux6. react-redux1. 简介 Redux 是 JavaScript 应用的...
    99+
    2024-04-02
  • React过渡动画组件基础使用介绍
    目录1. 基础使用2. 将animate.css集成到csstranistion中3. 列表过渡4. switchTransition动画5. 路由切换过渡6. 高阶组件实现路由切换...
    99+
    2024-04-02
  • 详解react-router-domv6版本基本使用介绍
    目录RoutesRouteNavigateNavLinkuseRoutes嵌套路由路由传参编程式导航Routes 代替Switch组件,不会向下匹配用来包裹Route Route 必...
    99+
    2024-04-02
  • React前端路由应用介绍
    浏览器端的前端路由模式:hash模式,history模式 安装路由模块 路由模块不是react自带模块,需要安装第3方模块 // react-router-dom 它现在最新的版本...
    99+
    2024-04-02
  • React中State与Props区别和用法
    本篇内容介绍了“React中State与Props区别和用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • react中props 的使用及进行限制的方法
    组件的props( props是一个对象 ) 作用:接收传递给组件的数据 特点: 可以给组件传递任意类型的数据 props是只读的对象,只能读取属性的值,无法修改对...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作