武义建设局网站长沙网站建设多少钱

bicheng/2026/1/22 21:17:28/文章来源:
武义建设局网站,长沙网站建设多少钱,中小企业网站建设案例,安卓软件免费下载在nextjs项目中#xff0c;发现两个组件没啥关系#xff0c;例如一个是一直存在的头部组件#xff0c;另一个是页面中的组件#xff0c;当我点击头部组件中的特定按钮时#xff0c;把数据传递到页面组件中#xff0c;页面组件接受到canshu数据后在做其他操作#xff0c;…在nextjs项目中发现两个组件没啥关系例如一个是一直存在的头部组件另一个是页面中的组件当我点击头部组件中的特定按钮时把数据传递到页面组件中页面组件接受到canshu数据后在做其他操作那么他们两个如何通讯通过context配合观察者模式实现。 首先在其共同的祖先组件中使用context 下面的代码文件是根路由组件Layout.js 其中children就是根据路由渲染的对应的页面 .... import {ConContext} from ../utils/test1; import EventBus from ../utils/test; const Layout () { ConContext.Provider value{EventBus()}Header /{children}Footer/Footer/ConContext.Provider } export default Layouttest1.js 创建context import { createContext } from react;export const ConContext createContext(null); test.js 使用 useEffect 包装下否则会在服务端渲染而服务端又没有浏览器对象所以会报错导致打包失败下面代码中注释的代码就会报找不到document所以使用useEffect包装下创建了一个自定义hook勾子 useEvent这个钩子创建一个变量用于接收EventBus这个类为什么要在useEffect 创建EventBus呢因为只有在useEffect中才能拿到浏览器对象然后在返回变量。然后导出这个useEvent use client import {useEffect, useState} from react // 使用 useEffect 包装下否则会在服务端渲染而服务端又没有浏览器对象所以会报错导致打包失败 const useEvent () {const [val, setVal] useState()useEffect(() {class EventBus {constructor() {this.bus document.createElement(fakeelement);}addEventListener(event, callback) {this.bus.addEventListener(event, callback);}removeEventListener(event, callback) {this.bus.removeEventListener(event, callback);}dispatchEvent(event, detail {}){this.bus.dispatchEvent(new CustomEvent(event, { detail }));}}setVal(new EventBus)},[])return val }export default useEvent// use client // class EventBus { // constructor() { // this.bus document.createElement(fakeelement); // }// addEventListener(event, callback) { // this.bus.addEventListener(event, callback); // }// removeEventListener(event, callback) { // this.bus.removeEventListener(event, callback); // }// dispatchEvent(event, detail {}){ // this.bus.dispatchEvent(new CustomEvent(event, { detail })); // } // }// export default new EventBus在header中触发事件 header.js 使用useContext接收数据 import React, {useState, useContext} from react; const Header () { const EventBus useContext(ConContext) // 点击按钮时触发const clickTab (url) {setOpenMenu(false)// 点击头部菜单切换轮播图开始// EventBus.dispatchEvent(myEvent, {log: 2})// 点击头部菜单切换轮播图结束push(url)} } export default Header在对应的页面组件中接收myEvent这个自定义事件 import React, { useEffect,useRef, useContext } from react; import { ConContext } from ../../utils/test1; const Products (props) { const EventBus useContext(ConContext) console.log(EventBus,EventBus); const slider useRef(); const handleEvent (e) {slider.current.goTo(e.detail.log)} useEffect(() {EventBus.addEventListener(myEvent, handleEvent)}, [EventBus]); }export default Products;参考10种React组件之间通信的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

添加网站关键词华为认证培训机构排行榜

在大数据时代,我们每天都在生成和处理海量数据。但数据本身,如果没有适当的上下文和描述,就像是一堆没有翻译的古老文字。这就是元数据发挥作用的地方——它是大数据世界的罗塞塔石碑,为我们提供了理解和利用数据的关键。 文章目录…

广东电商网站建设网站建设工作会议上的讲话

现代实时应用的复杂性和需求不断增加,需要强大而可靠的通信系统。正如本系列第一部分所述,这些应用涵盖从秒到毫秒的广泛响应时间要求,它们的成功通常取决于其响应的精确时间。因此,所选的通信系统必须能够满足这些严格的时序限制…

游戏门户网站模板建设银行网站查询密码

目录1、使用 Java 来控制 Windows 系统音量,使用 JNA 调用 windows 底层 API 因为有点麻烦,所以这里采用纯 Java API结合 VBS 脚本的方式进行控制。2、可以参考《VBS 控制 Windos 系统音量 及视频播放》,本文同样是利用 VBS 来控制&#xff0…

莱芜关于网站建设的公司北京制作网站的公司简介

path模块 path 模块提供了 操作路径 的功能,将介绍如下几个较为常用的几个 API: API说明path.resolve拼接规范的绝对路径 常用path.sep获取操作系统的路径分隔符path.parse解析路径并返回对象path.basename获取路径的基础名称path.dirname获取路径的目…

网站备案升级如何做网站后台管理

本章主要说一下模拟实现string类的部分功能,文章末附上所有代码。 目录 一、构造函数与析构函数 二、拷贝构造 三、c_str 四、【】和迭代器的遍历与访问 五、size 六、判断 七、reserve 八、push_back 九、resize 十、append 十一、 十二、insert 十…

高端企业网站建设服务商qq音乐的网站建设信息

你们知道在W7中怎么设置鼠标的滚轮吗?下面是小编带来的关于win7如何设置鼠标滚轮的内容,欢迎阅读!Win7设置滚轮方法一:首先要在电脑的左下角点击开始按钮点击开始按钮以后出现上拉菜单,在菜单上面点击控制面板点击控制面板以后进入到控制面板…

简述网站建设流程网站开发项目规划书

hdvp:外部函数文件,函数定义在hdvp中可以传输给任何hdev使用,即可以发给别人使用。同时允许对hdvp进行加密

东莞网站建设工作室我要用新浪云做网站

引言 记录一次线上redis占用过大的排查过程,供后续参考 问题背景 测试同事突然反馈测试环境的web系统无法登陆,同时发现其他子系统也存在各类使用问题 排查过程 1、因为首先反馈的是测试环境系统无法登陆,于是首先去查看了登陆功能的报错…

龙岗网站-建设深圳信科工程建设室内涂料招投标网站

引言 分布式系统中的多个节点经常需要对共享资源进行并发访问,若没有有效的协调机制,可能会导致数据竞争、资源冲突等问题。分布式锁应运而生,它是一种保证在分布式环境中多个节点可以安全地访问共享资源的机制。而在Redis中,使用…

免费下载软件的网站有哪些wordpress s3插件

最近要做一个应用要实现本地化,因为使用的是xcode4,应用程序本地化的问题跟以前的版本还是有些不同,在网上找了些资料对于xcode4以上的版本资料还是相对较少,有些最后要通过手动创建文件,这样操作实在是太麻烦&#xf…

给别人做网站前要问些什么问题湛江市品牌网站建设怎么样

随着网络技术的发展,网络请求成为了许多应用的重要组成部分。然而,手动发送网络请求不仅效率低下,而且容易出错。为了解决这个问题,我们可以使用Python来实现网络请求的自动化。而HTTP代理可以帮助我们更好地控制和管理这些请求。…

购物网站,购物车界面如何做python网站建设代码

显卡 显卡代号前缀英伟达(NVIDIA)RTX系列实时光线追踪的基本原理DLSS技术的基本原理 显卡代号前缀 前缀品牌首次发布时间定位适用人群主流产品GTNVIDIA2006年较低性能办公用户、轻度游戏GT 1030GTXNVIDIA2008年高性能游戏玩家、图形设计师GTX 1080 TiRT…

vue大型网站怎么做路由什么软件可以攻击网站

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

网站建设广州网站建设南宁网站推广营销

1 为啥会有这个认证 你既然点进来了这个也就不重要了,重要的是怎么拿到他,以SAA-C03为例,从开始到结束我们一起来进行准备 2 考试卷 目前AWS的考试是要交钱的,正常情况下拿到5折劵很容易,比如你之前考过AWS的认证会给…

专业网站设计怎么做想做个小网站怎么做

Codeforces Round #697 (Div. 3)A~G解题报告 题 A Odd Divisor 题目介绍 解题思路 乍一想本题,感觉有点迷迷糊糊,但是证难则反,直接考虑没有奇数因子的情况,即 N 2i2^{i}2i,那么当N ! 2i2^i2i时,就有 奇数因子 注意…

深圳汇鑫科技网站建设有哪些网站是用php做的

一、问题 赋值表达式中可以分为左值和右值,那么什么是左值和右值?数组名做为左右值时又具有怎样的意义? 二、解答 在C语言中,左值和右值的概念对于理解赋值表达式以及程序的正确性非常重要: 1、左值 • 左值是一个…

网站图片装修的热切图怎么做网站微信支付怎么做的

直线度的检测不再局限于直尺法、重力法等人工检测方式,随着自动化的发展,直线度检测也更需要自动化方便快捷的检测仪器。为此,研发了在线直线度测量仪与离线直线度测量仪,根据不同的需要,选择合适的设备即可。 数据计…

基础建设的网站有哪些内容微信网页版登录手机版

本文详解C#串口类SerialPort 目录 一、概述 二、构造函数及重载 三、字段InfiniteTimeout 四、属性 五

网站建站好处最贵网站建设多少钱

1 当身为老师的爸爸上课时......▼2 气氛突然微妙......▼3 隔壁的一家人都馋哭了!▼4 结束疫情隔离的你▼5 WOW!AMAZING!▼6 女孩子喜欢帅哥是不分年龄的▼‍‍7 单身狗又做错了什么呢?▼你点的每个赞,我都认真当成了喜欢

唐山哪里有建设网站的怎么做品牌的官方网站

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 概念性——数据库简介 介绍 数据对于当今许多应用程序和网站的运行至关重要。对热门视频的评论、多人游戏中分…