make DataProvider an interface
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
- #7351 của @antdking — đã đóng, không merge
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- react, typescript
- Lĩnh vực
- frontend
Hướng nghiên cứu
Xác định alias kiểu DataProvider và kiểm tra các cách sử dụng của nó trong các hook cũng như các typing của resource/model. Kiểm tra việc chuyển nó thành interface ảnh hưởng thế nào đến việc truyền generic và typing của injectable, sau đó xác thực hành vi bằng demo được đề xuất; hoàn tất nghĩa là mối liên kết từ resourceName đến RaRecord hoạt động xuyên suốt các hook mà không cần các generic wrapper tường minh.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Is your feature request related to a problem? Please describe.
Currently, to extend the DataProvider, we have to be very explicit about generics, and do a fair amount of hackery to expose Models/Resources everywhere.
The aim here is to build an abstraction around the pieces in react-admin, to make wiring up APIs/Models/Views a lot more seamless within editor environments (fully static with plain JS for users).
Describe the solution you'd like
Currently, DataProvider is a TypeAlias, which are not injectable.
By allowing us to inject the DataProvider, we can cause resourceName -> RaRecord associations to propagate to all the hooks (useGetList('cats') should automatically find my Cat Model).
For now, changing it from type to interface might be enough, however I'm unsure of the fallout. I'll spin up a PR with a Demo to verify how it all goes, and so you have something physical to see.
I suspect this will be beneficial for the no-code project, however I've yet to do a dive into what that is in detail.
Describe alternatives you've considered
Wrapping + explicit types == Code too noisy
Additional context
n/a
- Ngôn ngữ chính
- TypeScript
- Star
- 27k
- Fork
- 5.5k
- Merge trung bình
- 1 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 34
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của marmelab/react-admin
-
Add emptyText property to SelectArrayInputCó thể đã có người làm @kwitykwity đã nhận 68 ngày trước. Đang mởenhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
marmelab/react-admin#10454 · 7 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Clicking Undo on an undoable notification commits the next queued undoable mutation, so its Undo does nothingCó thể đã có người làm @Karanvir1729 đã nhận hôm nay. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
marmelab/react-admin#11442 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`useList` renders all records on first render, ignoring `perPage`Có thể đã có người làm @fzaninotto đã nhận 1 ngày trước. Đang mở
marmelab/react-admin#11440 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 Hơn một tuần Mức phù hợp với người mới 38/100
marmelab/react-admin#11426 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ra-data-graphql-simple: outdated graphql-ast-types-browser dependency causes npm peer warningsCó thể làm lại được @bipul724 đã nhận 21 ngày trước và không có pull request nào đang mở. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
marmelab/react-admin#11395 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của marmelab/react-admin
Issue tương tự
-
twilio.webhook() rejects valid requests when the query string has an encoded `?` and a `+` spaceĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
twilio/twilio-node#1232 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Tiling managers are not destroyed in disable(), so window-created handlers keep running (Gio.Settings constructed without schema)Có thể đã có người làm @gnacho đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
domferr/tilingshell#641 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
🐛 bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
LibreChat-AI/LibreChat#17887 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`isCI` is `true` inside a running Google Cloud Run service (also Railway, Render, Deno Deploy)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100