2017-04-20 2 views
0

Ich arbeite an einer responsiven Website (React/Redux), die die Seite rendert, sobald ein bestimmter Haltepunkt erreicht ist. Jedes Mal, wenn der Browser das Resize-Event aufruft, werde ich den Store updaten.React/Redux - Versand speichern auf window.resize

window.addEventListener('resize',() => { 
    store.dispatch(screenResize(...)); 
}); 

Kennt jemand die Leistung Auswirkungen des Versands, wenn es mehrmals pro Sekunde aufgerufen wird.

+0

Gibt es einen Grund, warum Sie dies nicht in CSS mit Medienabfragen tun? Das ist im Allgemeinen eine viel einfachere Lösung für diese Art von Problem. – steel

+0

Ich verwendete Medienabfragen für die meisten Elemente. Einige Elemente müssen jedoch ihre Logik ändern, wenn ein anderer Haltepunkt erreicht wird. – Benny

Antwort

0

Da dies vermutlich nur aufgerufen wird, wenn die Größe der Seite tatsächlich geändert wird, wird es wahrscheinlich kein allzu großes Problem darstellen. Das heißt, als allgemeine Beobachtung, möchten Sie vielleicht in Betracht ziehen, den Versand zu drosseln.

Auch FYI, es gibt einige vorhandene Bibliotheken, die helfen, Fenstergröße in Redux zu verfolgen. Siehe den Use Cases#Page Interaction Abschnitt meiner Redux addons catalog.

+0

Das dachte ich mir auch .. Aber ich kann den Versand nicht drosseln, weil ich sofort auf die Änderung reagieren muss. Deshalb rufe ich jedes Mal den Dispatch an, wenn das Ereignis aufgerufen wird – Benny