Excluding a single property from Object freezing
Maintainer antworten meist innerhalb von 4 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 30/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, typescript
- Bereich
- tooling
Rechercherichtung
Überprüfe die verlinkte CodeSandbox und vergleiche den ersten bestandenen Test mit dem zweiten fehlgeschlagenen Test. Prüfe, wie sich setUseProxies(true) und setUseProxies(false) auf das eingefrorene Objekt und das Observer-Array auswirken. Abgeschlossen ist die Aufgabe, wenn festgestellt wurde, ob eine einzelne Eigenschaft vom Einfrieren ausgeschlossen werden kann, und das unterstützte Verhalten oder die Einschränkung dokumentiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
🙋♂ Question
I am trying to buld a simple Subject/Observer pattern together with immerjs to ensure consistent update propagation in my project.
Right now immerjs is causing some trouble because I want to register an observer to an object that has run through immer and is now frozen.
Error: [Immer] This object has been frozen and should not be mutated
Basically I have to exclude the array of observers from getting touched by immer. How could I achieve that?
If it's not possible, why?
Link to repro
The codesandbox tests don't trigger my observers for some reason.
Running the same code locally gives the correct result.
The first test passes and the second test fails with the above error.
https://codesandbox.io/s/xmzig2
Environment
- Immer version: 9.0.12
- typescript 4.6.3
- Jasmine 4.1.0
- Occurs with
setUseProxies(true) - Occurs with
setUseProxies(false)(ES5 only)
- Vorherrschende Sprache
- JavaScript
- Sterne
- 29k
- Forks
- 905
- Ø Merge
- 3 T. 16 Std.
- Gemergte PRs (30 T.)
- 22
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus immerjs/immer
-
Shrinking an array with `length =` and growing it back loses the patches for the truncated indicesEvtl. vergeben @RClaudiuM hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Maintainer antworten meist innerhalb von 4 Tagen
-
Docs: Chinese (zh-CN) website translation is outdated vs English docsEvtl. wieder frei @lijiayou0728 hat das vor 91 Tagen übernommen, und es ist kein Pull Request offen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
immerjs/immer#1242 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 4 Tagen
-
question
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
immerjs/immer#1217 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 4 Tagen
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Automattic/node-canvas#2633 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
capricorn86/happy-dom#2594 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
microsoft/monaco-editor#5575 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag