ZEJIA LIU

Results 12 comments of ZEJIA LIU

“使用一次命令创建页面时一步到位,先创建页面再去pages中配置稍稍麻烦了点” 这一点正在跟进中 “另外一点:在pages中手动添加页面时,可以自动创建对应页面的代码 具体表现可参考微信小程序开发者工具” 这一点应该得拍配合 vscode 插件 在插件中调用 taro create 的命令去实现

可以使用 taro 的 eventcenter, 监听 '__taroRouterChange' 和 '__afterTaroRouterChange'即可

这个 pr 看起来是做了两件事情,最好分开提合并起来会方便一些。 要简明写一些 这个 pr 做了什么事情,是什么类型的 pr,改动涉及到哪一些平台。 由于改动的的属于公共包,所以如果是修复问题的话,最好关联相关 issue,或者提供可复现的 demo 以及复现路径

请简单描述一下复现路径和可复现demo,方便我进行验证

> 说明: willshow是为了解决返回白屏问题,路由跳转的时候会把上一页设置为display hidden,返回上一页的动画执行结束才会把hidden去掉。willshow的时机是在返回动画执行之前调用,提前把hidden去掉 复现步骤: 任意一个包含多page的sample,使用H5模式编译,从A页跳转到B页后再点击返回按钮,可以观察到返回动画执行过程中A页面未显示,只有在返回动画执行完成后A页面才会显示出来。如果不明显可以把A页面的背景设置为深色,可以明显的看到白屏效果。 这个问题可以通过css来实现即可。目前在路由这一块的逻辑已经足够复杂,再添加生命周期 willshow 感觉有点多余,因为他做的事情其实是和show相似的。 建议在 packages/taro-router/src/style.ts 这个文件里面,修改`.taro_page_shade`相关的css为: ``` .taro_page_shade:has(+.taro_page_stationed), .taro_router > .taro_page.taro_page_show.taro_page_stationed:not(.taro_page_shade):not(.taro_tabbar_page):not(:last-child):has(+.taro_page_stationed) { display: none; } ```

> .taro_page_shade:has(+.taro_page_stationed), > .taro_router > .taro_page.taro_page_show.taro_page_stationed:not(.taro_page_shade):not(.taro_tabbar_page):not(:last-child):has(+.taro_page_stationed) { > display: none; > } 我又想了一下,当页面存在tab页面的时候,页面上的dom排序和路由的history排序并不一致,因为tab页面并不会被删除,所以应该没办法使用css来解决

> 说明: willshow是为了解决返回白屏问题,路由跳转的时候会把上一页设置为display hidden,返回上一页的动画执行结束才会把hidden去掉。willshow的时机是在返回动画执行之前调用,提前把hidden去掉 复现步骤: 任意一个包含多page的sample,使用H5模式编译,从A页跳转到B页后再点击返回按钮,可以观察到返回动画执行过程中A页面未显示,只有在返回动画执行完成后A页面才会显示出来。如果不明显可以把A页面的背景设置为深色,可以明显的看到白屏效果。 当多个页面存在,连续多次进行返回的时候,这么改也解决不了问题,你不如提一个pr把,这个问题修改起来有点复杂

该问题已解决, 可参考pr https://github.com/NervJS/taro/pull/15659 跟周五版本

您好,taro-router 在是否为当前页面的逻辑判断上有点混乱,我这边统一梳理了一下,https://github.com/NervJS/taro/pull/15658, 您这个pr要修复的问题应该被包括在里面了,我先关闭一下,十分感谢您的贡献,有问题我们可以继续沟通~