fix(type): useRouter TParams should be optional #7156
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
这个 PR 做了什么? (简要描述所做更改)
在自己包装页面的 navigate 方法时,会将类型也带入,方便开发人员知晓页面参数的 key。如:
使用
useRouter
时,同样可以用类型定义来获取当前页面的参数 key,比较方便。但是,
useRouter
的TParams
当前是Record<string, string>
,强制每个 key 都必须存在。而我们在使用 push 方式时,并不一定使用了全部的参数。导致两者的类型定义会有冲突。从意义上来说,
TParams
也不一定所有内容都存在。所以,建议
useRouter
的TParams
改成Partial<Record<string, string>>
。这个 PR 是什么类型? (至少选择一个)
这个 PR 满足以下需求:
这个 PR 涉及以下平台:
其它需要 Reviewer 或社区知晓的内容: