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

朔州网站建设公司芜湖市民心声

朔州网站建设公司,芜湖市民心声,天津建设银行官网站,廊坊网站关键词推广看了下,好像没有很好的解决方案,之前的useHistory现在也用不了了, chatgpt说使用useMatch,也报错 看了下浏览器原生的。本来浏览器就会限制这个histroy的读取,只能获取length https://developer.mozilla.org/zh-CN/…

看了下,好像没有很好的解决方案,之前的useHistory现在也用不了了,

chatgpt说使用useMatch,也报错

看了下浏览器原生的。本来浏览器就会限制这个histroy的读取,只能获取length

https://developer.mozilla.org/zh-CN/docs/Web/API/Window/history

那考虑useEffect每次在location.pathname 进行变化的时候,直接进行存取队列。~~ 自己手动做吧。


const RouterComponent = (router: any) => {const location = useLocation()// 每一次路由变化的时候,去更新useEffect(() => {store.dispatch(setLastRouter(location.pathname))}, [location.pathname])return (<><Routes>{routers.map((router) => (<Routepath={router.path}element={router.authentication ? (<Authentication>{router.element}</Authentication>) : (router.element)}key={router.path}></Route>))}</Routes></>)
}

然后

import { PayloadAction, createSlice } from "@reduxjs/toolkit"
import { RootState } from "./store"interface taskState {router: { lastRouter: null; currentRouter: null }
}
const initialState: taskState = {router: { lastRouter: null, currentRouter: null },
}export const taskSlice = createSlice({name: "task1111",initialState,reducers: {setLastRouter: (state, action: PayloadAction<any>) => {state.router.lastRouter= state.router.currentRouterstate.router.currentRouter = action.payload}},
})export const { setLastRouter } = taskSlice.actions
export const selectLastRouter = (state: RootState) => state.task.router.lastRouter
export default taskSlice.reducer

但是,发现有问题啊啊啊,store的更新是惰性的,

chatgpt说,可以给他强制更新,但好像又不太好,如果需要所有的历史长度,或许可以

this.forceUpdate(); // 强制重新渲染组件

或者包一个connect
export default connect(mapStateToProps, mapDispatchToProps, null, { shouldComponentUpdate: () => true })(Counter);

(未验证)

后来请教了下大神,实际上可以在组件销毁方法里去监听,原理和去监听路由一样的,而且这样可以更好的~去维护,不用浪费全局的router资源。

【销毁组件的方法就更简单了……直接useEffect里return出去就行,用的少竟然忘记掉了】

这样每次读去到type的时候,可以再去取消掉,有点类似订阅的机制,总之更好管理。

感叹一下还是得

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

相关文章:

  • 电子商务网站建设规划注册公司一年交多少税
  • 摄影欣赏网站哪个最好百度搜索指数的数据来源
  • 网站建设基本情况雄县做网站的
  • 制作网站要不要域名创建网站的英语
  • 打开一个网站在电脑上做网站
  • 温州网站建设咨询三大oa办公软件
  • 网站建设有哪些荣誉小程序商店推荐
  • 有那些网站做结伴旅游的淮南建筑网
  • 简洁好看的网站做网站的图片Pc端和手机端的区别
  • 北京网站建设过程湖南住建云网站
  • 如何做免费网站成立公司有什么好处和坏处
  • 合肥网站设计 goz东山县建设银行网站
  • 网站建设的需求是什么意思成都制作网站公司
  • 在线报名网站建设个人网站开发实例
  • 做网站素材图片小红书手工
  • eclipse网站开发环境搭建网络架构模式有什么
  • 网站建设合同标准版找个人给我做电影网站
  • thinkcmf 做企业网站代注册公司要多少钱
  • 模板手机网站建设价格明细表网站推广的基本方法
  • 网站建设与维护 课件wordpress邮件配置
  • 西安在线网站制作网络营销专业建议
  • wordpress主机记录吕梁seo排名
  • wordpress建网站详细教程网站建设公司服务公司
  • 网站资源库建设报价统计助手小程序怎么制作
  • 访问网站有音乐背景怎么做什么网站做广告效果好
  • 手机网站建设公司推荐网站制作定制
  • 电商网站建设投资预算网站做框架
  • 网站后台修改的页面不能显示网页设计表格模板源代码
  • 企业网站推广计划企业网站备案需要什么
  • 网站的动态新闻数据库怎么做连云港做网站优化