创建组件的第一种方式并为组件传递 props 数据|学习笔记

简介: 快速学习创建组件的第一种方式并为组件传递 props 数据

开发者学堂课程【React 入门与实战创建组件的第一种方式并为组件传递 props 数据】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/585/detail/8088


创建组件的第一种方式并为组件传递 props 数据


目录:

一、创建组建的方式

二、注意事项


一、创建组件的方式

基于组件化开发

示例:

03.jsx 语法中的注意事项

// 1.导入包

import React from 'react '

import ReactDoMfrom 'react-dom'

// 3.调用 render 函数渲染  jsx XML 比 HTML 严格

//什么情况下需要使用(〉呢?

//当需要在 JSX 控制的区域内,写JS表达式了,则需要把 JS 代码写到{}

ReactDOM.render(

123

, document.getElementById ( ' app '))

运行页面:

image.png

//第一种创建组件的方式,一个普通的构造函数就是一个组件

Function Hello(){ }

//如何使用:直接在 render 中调用

ReactDOM.render(

123

直接把组建的名称,以标签的形式,丢到页面上即可

*/>, document.getElementById ( ' app '))

运行报错:

image.png

原因:组件未返回任何东西,错误原因组件中未返回一个状态

代码修改:

//如果在一个组件中 return null,则表示此组件什么都不渲染

Function Hello(){

Return null

}

运行结果:

image.png

添加代码:

retunrn

Hello组件

image.png

function 组件内部必须返回一个合法的的 JSX 虚拟 DOM 元素

例如此时环境为 VUE 环境

//创建狗对象,拥有三个属性,交给 hello 渲染

Const dog={

Name:”大黄”,

Age:3,

Gender:”

}

运行结果:

image.png

React组件中可以清楚看到传入的 name

在组件内部输入需要在方法中接受

Function Hello(props){

Console.log(props)

Return

这是Hello组件

}

Const dog={

Name:”大黄”,

Age:3,

Gender:”

}

运行结果:

image.png

Props 是一个对象

Function Hello(props){

Console.log(props)

Return

这是 Hello 组件 ---{props.name}

}

运行结果:

image.png

可以将 age gender 传入

保存打开 React 工具,选择 Hello 组件

运行结果:

image.png

渲染 age gender

Function Hello(props){

Console.log(props)

Return

这是Hello组件 ---{props.name}

---{props.age} ---{props.gender}

}

运行结果:

image.png

在组件中接收外界传来的数据,在形参中接收,形参的命名都可以,但最好通过语义写

//props 对象重新赋值

Props.name=’zs’

运行结果:

image.png

报错:name 是只读的,不可修改

Vue 中有 props,也是只读的

结论:

不论是 vue 还是 React,组件中的 props 永远都是只读的,不能够被重新赋值


二、注意事项

创建组件:

Function Hello(){

//Return null

Return

Hello组件

}

为组件传递数据:

//使用组件并为组件传递 props 数据,使用 props 形参

//在构造函数中接收外界传递过来的数据

Function Hello(props){

Console.log(props)

Return

这是Hello组件 ---{props.name}

---{props.age} ---{props.gender}

}

1.父组件向子组件传递数据

2.使用{...obj}属性扩散传递数据

3.将数据封装到单独的文件中

4.组件名称必须是大写

相关文章
Web应用基本架构
Web应用基本架构。
351 6
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux 读取命令 read命令使用指南
【Shell 命令集合 文件管理】Linux 读取命令 read命令使用指南
394 0
|
10月前
|
自然语言处理 算法 搜索推荐
《当NLP邂逅GIS:跨界融合的无限可能》
自然语言处理(NLP)与地理信息系统(GIS)的融合正开启全新应用大门,带来智能地理信息检索、地理知识图谱构建、灾害预警优化及智能导航等创新。通过NLP理解复杂语义并转化为GIS指令,降低了用户门槛,提升了效率。然而,数据异构性、语义理解复杂性、计算资源瓶颈及复合型人才短缺等问题仍待解决。尽管面临挑战,未来NLP与GIS的深度融合将为各行业带来更多变革与发展机遇。
217 12
|
机器学习/深度学习 算法 调度
深度学习|改进两阶段鲁棒优化算法i-ccg
深度学习|改进两阶段鲁棒优化算法i-ccg
|
人工智能 自然语言处理 机器人
Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistency等;项目实战搭建知识库内容机器人
Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistency等;项目实战搭建知识库内容机器人
Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistency等;项目实战搭建知识库内容机器人
|
存储 缓存 数据处理
sed指令用法详解
sed指令用法详解
769 0
|
边缘计算 安全 物联网
万物互联的物联网时代今后的发展趋势
随着科技飞跃,万物互联的物联网时代正加速到来,物与物交织成复杂网络,为生活带来便利并引领科技新趋势。本文聚焦三大方向:一是边缘计算兴起,减轻云端负担,加速数据处理;二是智能化深度应用,结合AI技术,实现自我学习优化,提升各领域效能;三是强化安全隐私保护,确保数据流通安全,防止隐私泄露。把握这些趋势,加强技术创新,将有力推动物联网产业发展,促进经济社会进步。
402 4
|
NoSQL Java Redis
在 Spring 中操作 Redis
本文详细介绍了在Spring框架中如何通过引入依赖、配置文件、使用StringRedisTemplate类以及执行原生命令等方式来操作Redis数据库,并提供了对String、List、Set、Hash和ZSet数据类型的操作示例。
421 0
在 Spring 中操作 Redis
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
存储 Java C++
Synchronized底层原理
Synchronized底层原理
233 2