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

网站开发后端语言有哪些站长怎么添加网站内容

网站开发后端语言有哪些,站长怎么添加网站内容,做网站卖产品要注册公司吗,想做网站开发兼职一、整体架构 三大核心库与对应的组件 history -> react-router -> react-router-dom react-router 可视为react-router-dom 的核心&#xff0c;里面封装了<Router>&#xff0c;<Route>&#xff0c;<Switch>等核心组件,实现了从路由的改变到组件的更新…

一、整体架构

三大核心库与对应的组件

        history -> react-router -> react-router-dom

  • react-router 可视为react-router-dom 的核心,里面封装了<Router>,<Route>,<Switch>等核心组件,实现了从路由的改变到组件的更新的核心功能。以及配套方法、hook。这部分只和 react 有关,和宿主无关,像 在初始化的时候,必须手动传入宿主对 history api 的实现。
  • react-router-dom 则是 react-router 在浏览器宿主下的更上一层封装。把浏览器 history api 传入<Router> 并初始化成 <BrowserRouter>、<HashRouter>,补充了 <Link> 这样给浏览器直接用的组件。同时把 react-router 透传导出,减少开发者依赖。
  • history 库可视为react-router的核心,也是整个路由原理的核心,里面集成了popState,history.pushState等底层路由实现的原理方法。给 browser、hash 两种 history 统一了 api,补充了订阅的能力,最终规范成 react-router 需要的接口供 react-router-dom 调用。

二、history库详解

模块划分:

  • history 依赖 window.history API:用于同步的增删改查浏览器路由状态
  • history 依赖 event listener 监听浏览器路由事件:用于处理自身状态和回调
  • 转接层:实现 window.history.state 和自身 location 数据的双向转换
  • location:history 维护的 location 数据,全局唯一
  • 订阅池:自己实现了回调池子,通过 push、call 方法添加订阅和修改
  • 路由方法:间接调用 window.history 的方法

主要调用逻辑:

  • 初始化(执行 createBrowserHistory):创建location、订阅池、方法;从 window.location、window.history 计算当前 location。
  • 浏览器事件触发:重新计算当前 location;调订阅池 call 方法处理所有回调
  • push、replace 方法被调用:根据调用入参生成新 location,并转为 history state,调 window.history 方法;调订阅池 call 方法处理所有回调.

三、路由流程分析:

当地址栏改变url,组件的更新渲染都经历了什么?😊😊😊 拿history模式做参考。当url改变,首先触发histoy,调用事件监听popstate事件, 触发回调函数handlePopState,触发history下面的setstate方法,产生新的location对象,然后通知Router组件更新location并通过context上下文传递,switch通过传递的更新流,匹配出符合的Route组件渲染,最后有Route组件取出context内容,传递给渲染页面,渲染更新。

在切换不同的组件中,有俩种方式,push和replace。

默认的是push,即每切换url,之前的路由仍然在history栈中。

如果切换默认使用的是replace,则当前的URL路由会替换掉栈顶的路由记录。

 <Link push = {true} to={{pathname:'/home/message/detail',state:{id:msgObj.id,title:msgObj.title}}}>{msgObj.title}</Link>

 

http://www.yayakq.cn/news/261860/

相关文章:

  • 瑞昌建站公司小程序制作需要审核资质吗
  • 做网站需要懂什么技术网站开发软件h开头的
  • 做团购网站需要什么资质域名注册好了如何做网站
  • 网站做线支付平台系统多少钱虚拟机可以做多个网站
  • 固始县住房和城乡建设局网站企业网站开发价
  • 海参企业网站怎么做wordpress个人建站教程
  • 麒贺丝网做的网站优化做网站需要域名
  • 商城网站的建设定位网站布局框架
  • 商汇通网站wordpress调用html代码
  • 盐田做网站的公司自己做影视会员网站
  • 360度搜索建站网北京星光灿烂影视有限公司
  • 好的设计网站中国十大建筑公司
  • 在哪个网站上做预收款报告代理公司注册的价格
  • 徐州建站费用电商后台管理网站模板
  • 网站建设审核需要多长时间网站建设公司 经营资质
  • 网站手机缩放用php做网站后台
  • 网站制作文章标签手机网站如何做才能兼容性各种手机
  • 曲靖手机网站建设wordpress 后台不显示
  • 怀化网站建设企业黑龙江 俄语网站制作
  • asp公司企业网站模板源代码网站的引导页面是什么意思
  • 网站建设的展望 视频海外网站如何做用户实名认证
  • 做卖挖掘机的网站怎么选择五屏网站建设
  • 东莞官方网站设计windows最新一代
  • 花生壳怎么发布自己做的网站轻淘客一键做网站
  • 自己做网站要办手续吗手工制作盲盒
  • 企业查询网站企查查无极磁铁网站
  • 一级a做爰片免费观看 安全网站seo外链怎么做
  • 网站导航栏动效怎么做网站建设是不是要有营业执照
  • 江门网站优化公司在线制作图片影集
  • 网站域名使用费学室内设计后悔了