-
-
Notifications
You must be signed in to change notification settings - Fork 65
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
async loading #521
async loading #521
Conversation
I'm just getting started on this project and have applied async loading to the I'm following the approach Emil used for async loading in
Before applying these changes to all the other files, I’d love to get your input on the following:
Looking forward to your thoughts! 😊 |
That should be fine.
You can't directly import the fragment in the wrapper, but the reverse is OK: you should be able to import the interface from the wrapper, like we do with props in some older components
These are the Python files? Those don't say much about the size of the code they use, just about the props they support but that's heavily duplicated vs the JS code. I'd go one-by-one thinking about the complexity of what these components likely do in JS, and make fragments according to your judgment on that. So great call starting with charts, after which datepickers seem like a great next step but I don't yet have a great sense of what all is in Mantine to know if there are other candidates for high-code components. |
What do you think is the minimum size difference to make it worthwhile doing the async loading? I just tried the Next did the three code highlight components:
However, now that the |
I have made a PR trying to mitigate this issue. |
… DRY). Tests run; they all pass except for "test_002rc_radio_group_deselectable"
Split shared chart resources into a separate chunk
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💃 Great job @AnnMarieW - and fantastic contribution @emilhe 🎉
Thanks @emilhe 🎉 |
Closes #367
Implementing Async Loading for Improved Performance
This will reduce initial load times and improve performance, especially for apps using only a subset of the available components.
Reduction in
dash_mantine_components.js
file size:Maybe move the following to a future PR?
Add async loading to all the files in these folders:
In the core folder, the largest files only: