Comments (5)
If it is decided to have warning, it shoudn't be for usages of none-reactive values in effects/deriveds. IMHO a warning could be there, only if there are 0 reactive values inside an effect/derived. For example an effect could depend on only 1 reactive value, but use 10 other variables that are not reactive which is fine. If nothing in the effect, triggers a rerun, then there could be a warning. Also one might use $effect just for onMount and then cleanup logic. Thoughts?
from svelte.
If it is decided to have warning, it shoudn't be for usages of none-reactive values in effects/deriveds
The warning is to make sure you don't forget assigning them with $state, if they were meant to be reactive. That is also why it is a warning, and not an error, as it is fine to use those if you don't need the reactive dependency
from svelte.
The question is whether this would lead to many false positives or not.
To evaluate that, testing the warning on real world code would probably be helpful.
from svelte.
The question is whether this would lead to many false positives or not. To evaluate that, testing the warning on real world code would probably be helpful.
I think i'm with @FoHoOV on this one...there are reasons to use non stateful variables in an effect. The error should really just be thrown if that's the only dependency but this also means that the first function call should mute this error. Maybe even property access.
from svelte.
I suspect you both overestimate how often the warning would trigger - it is very specific.
The variable has to be...
- non-reactive
- locally declared
- locally modified
E.g. constants and imports would not be affected.
How often do you really want to change a local value, use it in an $effect
and not have the effect be triggered by that change?
from svelte.
Related Issues (20)
- HMR fails if a component has a style tag HOT 1
- Icon Packs for Svelte HOT 5
- Setting a store to `undefined` and then trying to use it in a rune throws `state_unsafe_mutation` error HOT 7
- Svelte 5: Passing Date objects through `$state.snapshot()` turns it into a string
- HMR fails on next.179 and above HOT 8
- 🪲 sveltekit PROD bug with [email protected] using ternary in template HOT 1
- Svelte 5: state_unsafe_mutation Updating state inside a derived is forbidden. If the value should not be reactive, declare it without `$state` HOT 2
- Svelte 5: Automatically implement toJSON so state and properties are serialized. HOT 3
- Ternary in html attributes doesn't compile for production HOT 2
- Svelte 5 bug when moving mouse HOT 4
- $state, $bindable without backup value become 'undefined' in $derived HOT 5
- Svelte 5: SSR breaks rendering of Select component when HMR is enabled HOT 19
- Data returned from load function is stateless HOT 2
- Svelte 5: Add `class:list` directive HOT 3
- Individual states seemingly working like a singleton? I don't even know how to caption this HOT 1
- Distinguish between properties and attributes on custom elements HOT 10
- [REPL] modifying file name to same value wipes contents HOT 1
- `$props` aliasing allows invalid names HOT 7
- Svelte5: unexpected `Component` type errors HOT 4
- Proposal: Include README as component documentation upon packaging HOT 5
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.