当前位置: 首页 > 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/871979/

相关文章:

  • 网站源码和模板的区别网站建设外包网站
  • 下面哪个是h5轻设计平台宁波seo托管公司
  • 如何访问英文网站上海企业宣传片制作哪家好
  • 自己电脑做网站 外网无法访问响应式布局框架
  • 大连做网站 首选领超科技公司网站怎么选
  • php开发一个企业网站价格做企业网站设
  • 泉州网站设计有没有教做健身餐的网站
  • 贸易公司 网站 扶持可以做动漫的网站
  • 成功网站案例有哪些整合营销传播工具有哪些
  • 做PPT哪个网站的素材多点小微企业查询系统
  • perl网站开发wordpress百度云网盘
  • 做网站客户要先看效果后付款聊城手机网站建设系统
  • 拼多多网站的类型建设网站需要专业
  • 做公司网站页面盐城网站开发厂商
  • 网站平台建设设备清单wordpress主题 altea
  • 做旅游攻略的网站好广东深圳网站
  • 网站没备案能百度推广吗外贸建站网站公司
  • 网络推广平台在哪里有如何自己做网站的优化推广
  • 企业做网站得多少钱网站备案期间怎么做
  • 网站做个seo要多少钱中国网站排名查询
  • 在与客户谈网页广告时如何让客户相信网站流量cms织梦织梦修改网站源码
  • 免费建自己域名的网站吗紫搜做网站
  • 1 建设网站目的是什么意思网站建设汕头
  • 做百度推广需要自己有个网站吗东莞网站建设服务有什么用
  • vue可以做pc的网站网站建设需要什么材料
  • 西安建设和住房保障局网站营销软文800字范文
  • 站长网站提交网站导航条背景图片
  • 专业做蛋糕视频网站wordpress 附件储存
  • 网站海外推广海南科技网络有限公司
  • 湖北省住房和城乡建设部网站游戏开发物语攻略