为了账号安全,请及时绑定邮箱和手机立即绑定

Redux如何在同一个页面中使用点击Link标签跳转本页面的方法刷新内容?

Redux如何在同一个页面中使用点击Link标签跳转本页面的方法刷新内容?

HUWWW 2018-11-21 18:15:39
本人最近在做一个重构github的项目,由于路由的设计是基本模仿了github本身的规则,现在在浏览代码目录时需要使用点击目录的方式跳转到新路由,并对下一级的内容获取展示;在第一次进入页面时是使用的componentDidMount里面对数据进行了init,根据地址栏里的路径获取相关的每一层的文件数据这里的repoContentInit函数是一个actionCreator,会引导重新请求数据,并重绘页面在渲染出数据,并点击Link标签后,发现虽然地址的hash值确实发生了变化,组件做了相应的update,这个时候我又需要对路由进行处理,并获取数据应该在哪里操作呢?我想到的解决方案是在Link上面加上click事件(即手动调用repoContentInit方法),但是感觉这样工作量有一些大,而且不利于扩展,如果以后碰到用户有手动输入的链接内容,处理起来会更麻烦,不知道大家有没有碰到过类似的问题,或者有更好的方法吗?希望有大神能够帮助解惑了!在此谢过项目链接:github-mobile
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

对于这些项目页面,设定根路由,比如userName/projectName/,到这个路由可以render一个高阶组件,这个组件根据projectName去获取文件信息进行展示,点击文件夹或文件时,render另一个高阶组件,这个组件根据projectName和文件夹或文件名路径去获取信息进行展示,这样在app里你其实只需要获取projectName,和文件夹文件名路径信息并给予这两个高阶组件就可以了,每次路由变更都会重新进行传递新的值去获取新的数据(设置缓存会提高效率)进行展示。


查看完整回答
反对 回复 2018-12-29
  • 1 回答
  • 0 关注
  • 546 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信