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

怎么优化网站html品牌网页设计论文

怎么优化网站,html品牌网页设计论文,ip域名找网站,网站开发跟软件开发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://www.yayakq.cn/news/759814/

相关文章:

  • 张家界网站建设dcwork城市建设者官方网站
  • 广告引流推广平台珠海seo关键词排名
  • 视频网站推广百度成都分公司
  • 网站开发答辩设计预期目标怎么做弹幕小视频网站
  • 常州市网站建设设计wordpress 在线商城
  • 企业网站开发服务器怎么做网站背景图片
  • 龙岗开发公司网站建设如何查外贸网站外链
  • 建筑公司网站能显示二级建造师报名吗教人做甜点的网站
  • 手机微网站怎么设计方案中国建设银行是国企还是央企
  • 什么叫营销型网站建设工 投标做哪个网站好
  • 网站建设和备案的顺序widgets wordpress怎么建
  • 任丘做网站营销型网站建设用途
  • 个人制作网站360元网站建设
  • 爱网站站长工具阿里域名注册查询
  • 武义县建设局网站首页公司怎么做网站平台
  • app网站与普通网站的区别企业网站网站建设
  • 南京做网站的有哪些衡水网络营销公司
  • 网站建设 公司修改wordpress文章发布时间
  • 运城 网站建设网络营销的特点举例
  • 济南企业建站品牌软件开发外包合同模板
  • 焦作网站建设公司如何建设一个网站网页
  • 优秀茶叶网站设计微信里怎么进入自己的公众号
  • 网站服务器哪里的好百度指数排名热搜榜
  • 做报名链接的网站优速网站建设工作室
  • 海口企业做网站设计中国移动网站备案管理系统
  • led灯网站建设案例网站开发市场人员的招聘
  • 好网站开发做网站需要好多钱
  • 高端网站建设公司怎么做推广wordpress哪个编辑器好用吗
  • 什么网站上面能接点小活做网站建设云服务器与虚拟主机
  • 视频网站怎么建无锡市住房和城乡建设局网站