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

网站数字化建设怎么寻找做有意做网站的客户

网站数字化建设,怎么寻找做有意做网站的客户,网站编程语言排行榜,做视频挣钱的网站需求#xff1a; 在一个页面下有多个子tab在某些tab 下#xff0c;或者父节点的数据更新的时候#xff0c;其他子tab 或者父节点也要同步更新 进程#xff1a; 正常情况下会把所有用到的数据都移动到父节点#xff0c;修改行为也都放在父节点但如果这样的话父节点的数据…需求 在一个页面下有多个子tab在某些tab 下或者父节点的数据更新的时候其他子tab 或者父节点也要同步更新 进程 正常情况下会把所有用到的数据都移动到父节点修改行为也都放在父节点但如果这样的话父节点的数据会非常的多而且有可能只是某两个子节点的数据需要更新这就很麻烦换一个思路所有的数据都放在各自子节点但是在某个变化发生的时候触发一下更新逻辑那又回到之前的那个问题了需要每一个子节点都传入对应的触发函数再换一个逻辑增加一个全局的hook 并绑定上对应的事件在你想要触发更新的时候调用一下这个hook 行为如果有绑定的事件的话就会触发对应事件 //eventhook type eventName string | Symbolconst eventMap new MapeventName, ArrayFunction()const addListenerByName (name: eventName, func: Function) {if (typeof func ! function) {return ;}const listeners eventMap.get(name) || []if (!listeners.includes(func)) {eventMap.set(name, [...listeners, func])} }const removeListenersByName (name: eventName, func: Function) {const listeners [...(eventMap.get(name) || [])]eventMap.set(name, listeners.filter(f f ! func)) }const triggerEventByName (name: eventName) {const listeners eventMap.get(name) || []listeners.forEach(f f()) }type useEventReturn {addListener: (func: Function) () void, // 调用返回的Function会remove监听removeListeners: (func: Function) void,triggerEvent: () void, } /*** 记得清除副作用* param evenetName* returns*/ export const useEvent (name: eventName init): useEventReturn {return {addListener: func {addListenerByName(name, func)return () removeListenersByName(name, func);},removeListeners: func removeListenersByName(name, func),triggerEvent: () triggerEventByName(name),}; }使用的时候 export 一个固定的名字 export const UPDATEUSERDATAEVENTNAME Symbol(event_name)use 这个hook const { addListener } useEvent(UPDATEUSERDATAEVENTNAME)在需要被监听的地方在初始化的时候加入对应的监听逻辑 useEffect(() addListener(() actionRef.current?.reload()), [])在需要触发这个监听逻辑的地方加入const { triggerEvent } useEvent(UPDATEUSERDATAEVENTNAME)并触发这个监听 useEffect(() {triggerEvent()}, [userId] )这个做法的好处是就不需要往子组建传一堆东西了而且也做到了更好的解耦 拓展 在使用这个方法的时候需要一个全局唯一的名字所以用到了 SymbolSymbol是一个绝对唯一的常亮极端的例子 Symbol(“test”) ! Symbol(“test”)
http://www.hkea.cn/news/14496056/

相关文章:

  • 建设银行网站修改手机号建设网站需要哪些东西
  • 网站黑链xxx网站策划书
  • 咸阳 网站建设鲜花网网站开发的意义
  • 世界总人口实时数据黑锋网seo
  • asp网站伪静态西安网站制作中心
  • 自己如何建设网站首页开发帮官方网站
  • 网站建设的种类黑龙江最新通知今天
  • 五家渠网站建设eclipse tomcat 网站开发
  • 建设网站那家好什么是网络推广
  • 哪个软件可以做网站平面设计与广告设计
  • 重庆官方推广网站手机网站静态模板下载
  • 公司网站制作投标有哪些做微博长图网站
  • 贷款织梦网站模版小说网站快速做排名
  • 济南网站制作哪家最好一个网站的建设需要什么时候开始
  • 做刷赞网站能赚钱吗什么网站帮人做网页
  • 滑县网站建设价格用 php网站建设打出一首古诗
  • 2018做网站还赚钱吗在线建站|网页制作|网站建设平台
  • 哪个网站可以学做包包平面设计要什么学历
  • 新农村建设管理网站wordpress不提示更新
  • 百度手机网站建设下列是网页制作软件
  • 怎么做好网站建设做网站那个好
  • 青县做网站价格临清网站建设
  • 黄石网站制作天眼查网站建设公司
  • 西宁市城乡规划和建设局网站怎么查注册公司的名字可不可以用
  • 英文网站建设方法公司变更经营地址需要哪些资料
  • 合肥网站建设公司代理百度广告代理商
  • 网站整站建立网页的几个步骤
  • 外包优化网站网络营销培训哪里好
  • 内蒙古网站建设个人网站建设概述
  • 搭理彩票网站开发网站建设的构思