Comments (1)
Off the top of my head, the more reacty way to solve this sort of a need (as I believe I described on the original smaller ‘need’ on the specific PR) is to make use of global state stored in redux. We already do this for a lot of things, but the search results, randomisation, etc you’re talking about are all handled in the hooks (basically local state) rather than global state. So by design, when you navigate away from the PosterHall to a PosterPage (a different venue), they are ‘cleaned up’ and ‘released from memory’.
An alternative pattern that could also potentially solve this need (that would allow us to continue using hook-based memorisation, etc) is to leverage react’s context provider pattern. This is used in a few places in the app, most recently/cleanly for the ‘useRelatedVenues’ performance refactor that made the env/ohbm environment actually usable again (the number of related venues and our older inefficient way of building the schedule was breaking things and making it load super slow). To use the context provider pattern, we would probably need to add the ‘provider’ in the TemplateWrapper component, but only have it wrap around PosterHall and PosterPage venues (both will need to be wrapped by the same provider). That way it would allow the memoised hook state to be maintained when navigating between PosterHall and PosterPage, but would still be cleaned up when navigating to any other venue type outside of them.
from sparkle.
Related Issues (20)
- Clicking on delete brings up a modal for the author HOT 2
- Clicking "Happening now" button on Schedule / event dialog crashes HOT 1
- Horizontal scrollbar only visible at bottom of schedule pane
- Time information only visible at top of schedule pane
- Join poster highlights room from schedule HOT 1
- Feature request: Chat/DM activity indicators HOT 5
- [chat] As an admin, I want to be able to convert a chat message to a question (and vice versa) HOT 1
- [env/ohbm] BUG: User icons misrepresenting presence HOT 4
- BUG: The eye in the video of people in a poster does not anything
- idea: "news feed" on home page from all public chats messages HOT 1
- [OHBM] Feature request: Match presenter avatars by email, not name
- [OHBM] Feature request: Checkbox to sort posters by number of people present
- [table] idea - add whiteboard (expandable?) option
- [table] add option to resize main video HOT 1
- [chat] add emoji reactions to messages
- idea: DJ chatbot
- As a user, when clicking on the 'enter' button to load a room/venue, I want to be able to choose to open a new tab (aka: replace button with a href) HOT 6
- [admin v3] add WorldUsersProvider to fix 💣 HOT 5
- 1776
- script to add slug for spaces in admin side HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sparkle.