Comments (3)
Everything below is ONLY for the web, the mobile modal pattern is solved at the OS layer
Hi, would love to help, but wonder what is the suggested solution, my quick idea is to solve this from the expo-router
layer, which is, when you have a screen with option { presentation: "modal" }
, and you link.push()
to this screen,
- the
expo-router
would render this screen with portal from the root. - the path should not update to the modal path which would re-render the whole page and thus breaking the web-pattern (display the current page underneath the grayed-out background), it should just attach a query string maybe. (or it can?)
Then you can have a proper web-like modal for free and integrates with the expo-router
default API.
The tricky part might be the grayed-out background, do we need to have a way to let the user reuse it, or let the user solve it at the user-land since with the above pattern, it is just a matter of implementation.
from router.
Closing in favor of an internal linear ticket for our docs team. This should be pretty easy to do with Expo Router v3.
from router.
Any example of this use case?
from router.
Related Issues (20)
- why is the dev server generating .gitignore HOT 1
- eas update fails with web: {...output: static,...} HOT 1
- Navigation Stack Issue with Incorrect Event Display HOT 1
- _layout inside a (tabs) folder throws error in navigation and gives me a blank screen HOT 5
- Bad start-up navigation with expo prebuild HOT 4
- Navigation twice on the first screen of a modal (only in production app) HOT 6
- Migration to expo-router-v2 breaks onLayout redirect HOT 2
- Template tabs@48 is broken HOT 3
- Metro has encountered an error: While trying to resolve module `stylis` HOT 2
- Expo Router V2 breaks when calling hook on destination page HOT 5
- Expo Router V2 Web - ScrollView in nested navigation is not showing up HOT 5
- Unable to nested dynamic route under shared HOT 5
- listeners prop do not have types
- Metro has encountered an error: While trying to resolve module stylis HOT 3
- TypeError: (0 , _stylis.middleware) is not a function HOT 4
- Navigation between screens in different tabs does not work HOT 7
- Impossible to change router background in dark theme HOT 3
- Push notifications do not work when received. HOT 1
- Not able to pick initialRouteName in Expo Router when using stacked navigation HOT 2
- useFocusEffect cleanup - This expression is not callable 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 router.