-
Notifications
You must be signed in to change notification settings - Fork 185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(NativeSelect): Don't pass unused props to NativeSelect #6663
Conversation
size-limit report 📦
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
e2e tests |
👀 Docs deployed
Commit c9b2e2d |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #6663 +/- ##
=======================================
Coverage 82.21% 82.21%
=======================================
Files 331 331
Lines 10250 10250
Branches 3439 3439
=======================================
Hits 8427 8427
Misses 1823 1823
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Исключаем передачу неиспользуемых Select пропсов в NativeSelect.
Исключаем передачу неиспользуемых Select пропсов в NativeSelect.
@mendrew нужен вот такой тип const nativeProps: {
[K in keyof typeof restProps]: K extends keyof NativeSelectProps
? NativeSelectProps[K]
: never;
} = restProps; выявил, что ещё |
🔥 TS master. |
Тут можно через TS валидировать
Да я сам полчаса бился, чтобы к этому типу придти 😅 Сначала через всякие |
Это правда потрясающе!!! А я уже не раз бился, но всё не получалось! |
UPD в комменте #6663 (comment) поправил типы, забыл удалить |
Да, лишний. Тоже это заметил. Спасибо, что поправил) |
В тех местах, где при определённых условиях под капотом используется нативный компонент, мы, бывает, забываем исключать новые свойства необходимые только в кастомных компонентах. В итоге неспользуемые свойства оказываются в DOM. (#6663, #6386). Добавил тип, как посоветовал @inomdzhon в #6663 (comment), чтобы при добавлении нового свойства линтер ругался если для нативного компонента это свойство не нужно.
В тех местах, где при определённых условиях под капотом используется нативный компонент, мы, бывает, забываем исключать новые свойства необходимые только в кастомных компонентах. В итоге неспользуемые свойства оказываются в DOM. (#6663, #6386). Добавил тип, как посоветовал @inomdzhon в #6663 (comment), чтобы при добавлении нового свойства линтер ругался если для нативного компонента это свойство не нужно.
✅ v6.0.2 🎉 |
Описание
Исключаем передачу неиспользуемых
Select
пропсов вNativeSelect
.Вот бы это как-нибудь автоматически ловить.