javascript / expert
Snippet
Proxy-gesteuertes Property-Access-Tracking
Fortgeschrittene State-Management-Bibliotheken verwenden Proxies, um zu verfolgen, auf welche Eigenschaften eines State-Objekts während des Renderings zugegriffen wird. Dies ermöglicht es dem System, Re-Renderings nur dann auszulösen, wenn sich diese spezifischen Eigenschaften ändern.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
function createTrackedProxy(obj, onAccess) {return new Proxy(obj, {get(target, prop) {onAccess(prop);const value = Reflect.get(target, prop);return (value && typeof value === 'object')? createTrackedProxy(value, onAccess): value;}});}
react
Erklärung
1
get(target, prop) { onAccess(prop); ... }
Abfangen des Eigenschaftszugriffs, um eine Abhängigkeit für den aktuellen Rendering-Kontext zu registrieren.
2
return (value && typeof value === 'object') ? ...
Rekursives Wrappen verschachtelter Objekte, um tiefes Tracking zu gewährleisten.