0 Tage Serie
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
javascript
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.