lblblong / tarojs-router-next

Taro 小程序路由库/自动生成带参数类型提示的路由方法/允许传递任意类型、任意大小的参数数据/同步的路由方法调用/koa体验一致的路由中间件
https://lblblong.github.io/tarojs-router-next/
MIT License
249 stars 23 forks source link

路由调转传递data没有类型提示 #67

Closed Typeve closed 1 year ago

Typeve commented 1 year ago

export type Data = { title: string author?: string content?: string views?: string } 详情页面配置如上类型,但是跳转方法没有类型提示,只提示未提供options的自变量 微信图片_20230721180801 我跳到生成的to方法中,看到import找不到类型文件模块 微信图片_20230721181420

运行环境是windows11

clayzx commented 1 year ago

image 我这也没有类型提示,看生成的文件里有import(‘Path’).Data,但是就是没类型提示。 是不是这种import方法的问题,能不能定义route.config.ts里面定义的时候使用页面名称+Params/Data的方式,然后在生成的文件头中把对应的route.config.ts中的[PageName+Params/Data]类型import进去,这样应该不会出现类型不提示的问题吧。

另外,在Watching状态下为页面新增route.config.ts,并不会为toXXX方法生成类型,只会生成一个static toRoute: any; 而且,每为一个其他页面添加一个route.config.ts,就会多生成一句static toRoute: any; ,这样导致重复定义。 不过,推出watching,重新执行yarn dev:weapp就生成正确了。 image

有类型检查可以避免很多Bug,挺重要的,希望老板有空修复一下!

lblblong commented 1 year ago

已经处理了,可以更新到 3.3.0


@clayzx 生成 toRoute 的没有复现,可以提供一个可以复现仓库吗

lblblong commented 1 year ago

@clayzx toRoute的问题也修复了,更新到 v3.3.1

clayzx commented 1 year ago

牛,这效率相当的高嘛,还没反应得过来就修复好了, 这插件非常的好用,非常感谢!

By Clay.

发件人: @.> 发送时间: 2023年9月13日 16:23 收件人: @.> 抄送: Clay @.>; @.> 主题: Re: [lblblong/tarojs-router-next] 路由调转传递data没有类型提示 (Issue #67)

@clayzxhttps://github.com/clayzx toRoute的问题也修复了,更新到 v3.3.1

― Reply to this email directly, view it on GitHubhttps://github.com/lblblong/tarojs-router-next/issues/67#issuecomment-1717170165, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACKCOTUEATNHSAHFQ5WJEO3X2FUPDANCNFSM6AAAAAA2SUKMNY. You are receiving this because you were mentioned.Message ID: @.***>

clayzx commented 1 year ago

兄弟,打扰一下:

toXXX()的返回类型,参照Params和Data一样,使用在toute.config.ts中定义的BackData类型;

建议可以把toXXX()的返回类型定义在toute.config.ts中,如:BackData; 在生成的toXXX()方法上,使用toXXX<T = BackData>(),这样既可以使用默认定义在toute.config.ts中的BackData,又可以在特定场景下自己传入特定类型,不过不建议使用toXXX<特性类型>()这种,一般一个页面就定义一个返回类型。

添加这个功能应该比较简单,如果可以的话,劳烦老板有空添加一下,谢谢!

By Clay.