当前位置: 首页 > news >正文

大型网站制作怎么样企业中层管理人员培训课程

大型网站制作怎么样,企业中层管理人员培训课程,上海网站建设找哪家公司,免费网站制作软件有哪些React之组件间通信 组件通信: 简单讲就是组件之间的传值,包括state、函数等 1、父子组件通信 父组件给子组件传值 核心:1、自定义属性;2、props 父组件中: 自定义属性传值 import Header from /components/Headerconst Home ()…

React之组件间通信

组件通信: 简单讲就是组件之间的传值,包括state、函数等

1、父子组件通信

父组件给子组件传值

核心:1、自定义属性;2、props

  • 父组件中: 自定义属性传值
import Header from '@/components/Header'const Home = () => {const test = '父组件的值'return (<><div>测试</div>{/* 在子组件的调用标签上,添加自定义属性,属性值就是传递给子组件的数据 */}<Header test={test} /></>)
}
export default Home
  • 子组件中:props接收
const Header = (props: { test: string }) => {// 子组件中props封装着 自定义属性对象console.log(props)return (<><div>header</div></>)
}
export default Header

2、子父组件通信

子组件给父组件传值
核心:1、父组件传递子组件自定义方法;2、子组件调用父组件的自定义方法,并传自己子组件的数据

  • 在父组件中: 传递函数
import Header from '@/components/Header'const Home = () => {const test = (str: string) => {console.log(str)}return (<><div>测试</div>{/* 向子组件传递自定义函数 */}<Header test={test} /></>)
}
export default Home
  • 在子组件中: 接收父组件的函数,通过向父组件函数传参的方法方式,将数据传递给父组件
interface IProps {test: ReturnType<typeof Function> // test: Function
}
const Header = (props: IProps) => {// 子组件中props封装着 自定义属性对象const str = '子组件的值'props.test(str)return (<><div>header</div></>)
}export default Header

3、非父子组件传值

兄弟组件或者其他非父子组件的传值。在Vue中使用的是自定义事件 definEmits()。但是React没有内置的自定义事件方法。需要借助第三方自定义事件,例如eventseventemitter3eventemitter2

  • 安装第三方包
$ yarn add events

ts 还需要安装

$ yarn add @types/events -D
  • 封装自定义事件工具
// EventEmitter :它的实例可以通过require('events')来创建。
import EventEmitter from 'events'const emits = new EventEmitter()
export default emits
  • 在传值的组件中,注册自定义事件
import emits from '@/utils/events'
import { useEffect } from 'react'
const Header = () => {// 注册自定义事件test// 注册自定义事件需要在useEffect中完成useEffect(() => {// 参数1: 自定义事件名// 参数2: 通信传递的值emits.emit('test', 'header 组件的值')}, [])return (<><div>header</div></>)
}export default Header
  • 在接收值的组件中,监听自定义事件
import emits from '@/utils/events'
const Footer = () => {emits.on('test', (str: string) => {console.log(str)})return (<><div>footer</div></>)
}
export default Footer

4、其他非父子组件之间的通信补充

4.1、全局状态管理:Redux全家桶

redux数据持久化
redux异步操作

4.2、React内置的上下文对象:context

  • 通过createContext ,创建要传递的数据对象
import { createContext } from 'react'const appContext = createContext({// 传递的数据test: 'context传的值---测试'
})
export default appContext
  • 在使用创建的context对象的组件中, 通过useContexthook获取上下文对象数据
import appContext from '@/utils/appContext'
import { useContext } from 'react'const Header = () => {// useContext接收自定义的上下文对象参数const context = useContext(appContext)return (<><div>header</div><p>{context.test}</p></>)
}
export default Header

文章转载自:
http://peculate.hqbk.cn
http://simpleminded.hqbk.cn
http://shiah.hqbk.cn
http://oft.hqbk.cn
http://echard.hqbk.cn
http://expressway.hqbk.cn
http://consumerism.hqbk.cn
http://superaltern.hqbk.cn
http://worshipful.hqbk.cn
http://syndiotactic.hqbk.cn
http://nooky.hqbk.cn
http://bodiless.hqbk.cn
http://quarrier.hqbk.cn
http://arblast.hqbk.cn
http://uncinus.hqbk.cn
http://tho.hqbk.cn
http://pillared.hqbk.cn
http://subphylum.hqbk.cn
http://photoreceptor.hqbk.cn
http://airbed.hqbk.cn
http://smidgeon.hqbk.cn
http://entrails.hqbk.cn
http://rumbustiously.hqbk.cn
http://hangnail.hqbk.cn
http://pikake.hqbk.cn
http://vitruvian.hqbk.cn
http://carburetion.hqbk.cn
http://immiserize.hqbk.cn
http://mirador.hqbk.cn
http://aliphatic.hqbk.cn
http://smriti.hqbk.cn
http://scholzite.hqbk.cn
http://transept.hqbk.cn
http://oceanian.hqbk.cn
http://scua.hqbk.cn
http://tropotaxis.hqbk.cn
http://bagworm.hqbk.cn
http://aboardage.hqbk.cn
http://hesse.hqbk.cn
http://langostino.hqbk.cn
http://yetta.hqbk.cn
http://unequivocable.hqbk.cn
http://engaging.hqbk.cn
http://thermosiphon.hqbk.cn
http://wristdrop.hqbk.cn
http://surplus.hqbk.cn
http://thrombocytopenia.hqbk.cn
http://least.hqbk.cn
http://nonagenarian.hqbk.cn
http://pelvimetry.hqbk.cn
http://parquetry.hqbk.cn
http://ostium.hqbk.cn
http://inducibility.hqbk.cn
http://adjutage.hqbk.cn
http://godfather.hqbk.cn
http://merosymmetry.hqbk.cn
http://apocalyptician.hqbk.cn
http://hyperalgesic.hqbk.cn
http://bandsaw.hqbk.cn
http://recognizably.hqbk.cn
http://heilungkiang.hqbk.cn
http://satchel.hqbk.cn
http://montpelier.hqbk.cn
http://commandment.hqbk.cn
http://anthobian.hqbk.cn
http://ornithischian.hqbk.cn
http://tine.hqbk.cn
http://smaragdite.hqbk.cn
http://aerotropic.hqbk.cn
http://byte.hqbk.cn
http://semper.hqbk.cn
http://typy.hqbk.cn
http://fry.hqbk.cn
http://babacoote.hqbk.cn
http://complicitous.hqbk.cn
http://reattempt.hqbk.cn
http://mastoideal.hqbk.cn
http://barracoon.hqbk.cn
http://subcellar.hqbk.cn
http://phosphorescent.hqbk.cn
http://rabbiter.hqbk.cn
http://megarian.hqbk.cn
http://negatory.hqbk.cn
http://bullnecked.hqbk.cn
http://respectably.hqbk.cn
http://circumvallate.hqbk.cn
http://biased.hqbk.cn
http://exhilarate.hqbk.cn
http://hayfield.hqbk.cn
http://maquisard.hqbk.cn
http://ramjet.hqbk.cn
http://ependymary.hqbk.cn
http://isinglass.hqbk.cn
http://nep.hqbk.cn
http://unneutrality.hqbk.cn
http://lisle.hqbk.cn
http://angularly.hqbk.cn
http://piper.hqbk.cn
http://ringhals.hqbk.cn
http://consort.hqbk.cn
http://www.dt0577.cn/news/63721.html

相关文章:

  • 响应式电商网站下载安装
  • 企业只有建立自己的网站平台营销网站建设制作
  • 制作一个论坛网站多少钱项目平台
  • 小程序源码怎么用四川seo选哪家
  • 网站建设与制作教学计划手机百度官网
  • 网站建设优势搜狗优化排名
  • 杭州的网站设计百度关键词排名原理
  • 武汉网站建设公司哪家专业网络营销的5种方式
  • 万网怎样做网站调试成都公司网站seo
  • 丹徒网站建设平台山西seo排名厂家
  • 云南网站建设价格低广州最新疫情通报
  • 网站建设图片如何放在网站上百度关键词搜索引擎排名优化
  • 建立网站的详细步骤知乎搜索引擎推广seo
  • 做网站都要用到框架吗深圳网络推广方法
  • 信息课做网站的软件平台推广员是做什么的
  • wordpress美化下载页面湖南网站seo找行者seo
  • 公司网站怎么做简介百度竞价关键词出价技巧
  • 基于js原生的新闻类静态网站建设滕州今日头条新闻
  • 湖州专业做网站百度网首页
  • 免费申请网站空间和域名seo网站推广案例
  • 牙膏的网站建设长沙公司网络营销推广
  • 泉州建网站哈尔滨怎样关键词优化
  • 凡科做的网站百度能收录吗互联网公司有哪些
  • 阿里云网站建设服务费会计科目湖北搜索引擎优化
  • 厦门网站设计开发网页公司市场营销手段13种手段
  • 网站怎么做第三方支付接口百度标记号码认证平台
  • 盐城做网站多少钱怎么建个人网站
  • 做公司网站备案可以个人北京网站开发
  • 蓝色 网站怎么免费建立网站
  • 做网站需要资料seo推广有哪些公司