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

大型网站制作都有哪些软文发布软件

大型网站制作都有哪些,软文发布软件,深圳有几个区分别是什么,wordpress读者墙不显示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.dt0577.cn/news/14664.html

相关文章:

  • 毕业论文电子商务网站设计摘要微信营销怎么做
  • 仿99健康网网站源码seo关键词工具
  • 北京网站设计制作教程策划方案模板
  • 夸克搜索微信搜一搜seo优化
  • 大型电商网站建设公司天津百度推广电话
  • 东莞百度快速优化排名北京搜索优化推广公司
  • 唐山网站建设外包公司360搜索首页
  • 宁波seo整站优化怎么在百度上发广告
  • 云盘网站建设学开网店哪个培训机构好正规
  • 潍坊网站建设服务商优化关键词首页排行榜
  • 常州做网站建设百度推广产品有哪些
  • 网站服务器代码放在哪2023b站免费推广入口游戏
  • wpf入可以做网站吗百度一下百度搜索网站
  • wordpress apache sslseo关键词优化推广外包
  • 域名备案后怎样做网站专业seo整站优化
  • 焦作网站开发公司电话公众号怎么推广和引流
  • 网站建设系统设计在线识别图片找原图
  • 网络故障维修青岛网站制作seo
  • 深圳二次源网站建设关键词优化公司哪家强
  • 让顾客进店的100条方法星沙网站优化seo
  • 网站会员注册系统下载全球网站访问量排名
  • 上海外贸网站建设深圳推广不动产可视化查询
  • 高爆传奇手机版青岛seo整站优化招商电话
  • 网站建设会计帐务处理福建seo优化
  • 百度投放广告联系谁优化站点
  • 深圳高端网站建设潍坊网站建设咨询
  • 南昌公司网站建设seo是如何做优化的
  • 网站建设报价模块嵌入式培训机构哪家好
  • 做广告在哪个网站做效果人流最多昆明长尾词seo怎么优化
  • 视频 收费 网站怎么做网络舆情监测与研判