react-navigation和redux集成之后,导致执行action页面无法跳转



  • 在使用react-navigation时,使用navigate跳转页面,在页面中请求接口数据,使用redux数据管理,导致页面无法跳转,请问怎么解决?



  • @typhoonIscoming 我也遇到了,也想求个解决方案



  • 啥版本都没说,具体怎么集成也不知道,代码半个没有,啥问题都不知道,请问解决啥



  • 版本信息cfba85bc-6f97-49a7-90b6-9e4419fa80b6-image.png
    navigation配置da33481b-91a0-4ac6-93f7-a74e23e9bb71-image.png 869d66ab-9017-43e4-9a48-7dfbd01d8012-image.png
    Home页面(bottomTab里面)54f0483b-0256-439e-8c2e-8c7435888917-image.png
    Procedure页面18b5158a-886e-4b28-944a-6ec34369864c-image.png

    问题是我从home页跳转到procedure页面, 在procedure页面请求数据, 这个请i去动作是redux管理的, 路由就会自动跳回home页面, 我我注释掉producer的那行请求代码就会跳转成功, 我查了一下log, 发现procedure的redux的操作会影响home的render函数, 我实在想不通为什么, 也不知道问题出在哪

    以下是两个页面的redux ,
    home:17cdc106-3836-4baf-bc4d-a7d80d66b762-image.png
    42484356-d83f-46f6-aa35-8008a2c03f66-image.png
    procedure页面
    c2841f54-b43f-4814-a07e-8772251d9f8d-image.png
    44b92e76-c494-4d3a-9c1d-28d439fd95b6-image.png

    store:
    411af94f-becf-450c-8d5b-104495056974-image.png

    还请大神指导一下

    • 列表


  • @晴明 大神, help! SOS! 代码信息我已经放上去了 , 能帮忙看一下问题在哪吗



  • @晴明 react-navigation暂时没有与redux集成, 就是官方给的示例写的, 而且之前react-navigation版本是最新的4.x, 我以为是版本问题,就降级了,降成3.12.1, 发现降级也不行



    1. redux每次修改会更新所有与其connect的组件,所以connect的逻辑必须正确而不多余(不相干的状态不取,取也要保证pure)
    2. 即便redux导致home重新render,你贴出的代码也看不出和导航的关联性
    3. 你这代码太啰嗦,看不出这个列表有何走redux的必要性(能本地处理的状态就本地处理呗,自家电话能接通就没必要跑去打公用电话啊)


  • @晴明

    • 第一条满足, 取的没有多余状态
    • 第二条, 问题表现在procedure页面一用redux请求数据, 路由就不能从home 页面跳转成功,至于这两有没有关联性我也不知道, 因为我实在不知道是什么导致路由跳转失败, 才导致我百度都不知道怎么百度
    • 第三条, 可以不用redux, 但是我现在主要还是想解决这个问题, 因为其他业务逻辑总会有用到redux的时候, 倒是这个依然还是存在的


  • @晴明 代码写的不利落还望包容, 我也是公司需要刚研究react-native半个月左右, 新手上路, 还请见谅。



  • @晴明 还有一点, 如果从login页面跳转到procedure页面就没问题, 请求正常, 页面渲染也正常, 但是从home页就不行, Login、procedure 是一样的配置, Home是bottomTab创建的, 好像是两个堆栈, 不知道这个会不会有关系



  • 一般应该只用一个堆栈,登录的堆栈应该在登录完成后switch掉


Log in to reply