Comments (6)
Returned to this proposal. I wonder, how we should figure out which value is not acceptable to the query param and which is not? For example, we've got a query state like this:
$query = {
search: '',
checked: false,
selected: []
};
Should we remove the search
param from this state? Is checked
have a proper value at this moment? Seems both are falsy.
One more disadvantage is if we remove param from $query store we'll have to check all places to undefined
. If we won't remove param from the store and just skip it in URL it will become some kind of inconsistency between state and URL. This inconsistency may cause us not to be able to recover falsy state for the specific value after page reload.
Any thoughts?
from svelte-pathfinder.
Maybe it makes sense not to remove any parameters from the state object, but hide it from string before history.pushState?
from svelte-pathfinder.
@zyxd The main issue is how to retrieve this state after page reload. So, this is exactly what I mean, our state is out of sync.
from svelte-pathfinder.
@PaulMaly I think it should be optional and disabled by default.
from svelte-pathfinder.
@zyxd Seems, this will cause us to lose information about the parameter type and be forced to check the value for existence in all places we use it:
{#if $query.filters} <!-- this check become necesery -->
{#each $query.filters as filter}
...
{/each}
{/if}
from svelte-pathfinder.
No updates here. Closed for now. Feel fee to open again if needed.
from svelte-pathfinder.
Related Issues (13)
- goto('/app') returns Uncaught TypeError: Failed to construct 'URL': Invalid URL HOT 2
- Equals sign from the query filter is dropped HOT 3
- Duplicate message in browser history when reload page HOT 1
- Redirect & browser history navbutton HOT 1
- Question: what is the preferred way to remove a query parameter? HOT 1
- SSR support examples HOT 1
- Possible to preserve paths on page refresh? HOT 2
- Why page reloads? HOT 5
- Nested routes HOT 14
- $query store prototype HOT 2
- Linking to path with query parameter triggers two history changes HOT 1
- goto("/") throws Failed to construct 'URL': Invalid URL
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 svelte-pathfinder.