So habe ich eine nützliche Möglichkeit zur Verwendung von Scan, wo Sie eine Funktion auf den Strom zuordnen, um einen Anfangswert zu aktualisieren gesehen.Suche nach einem saubereren Weg zur Verwendung von Scan in rxjs
const initialState = false;
const notThis = (x) => !x;
const toggle = clicks.map(()=> notThis)
.startWith(initialState)
.scan((acc,curr)=> curr(acc))
Aber wenn ich die Werte von Klicks benötigen ich weiß, ich kann eine teilweise schreiben
const initialState = {klass:'',bool:false};
const toggle = clicks
.map((y)=> {
return (x) => {
let klass = y.target.className;
let bool = !x.bool;
return ({klass, bool});
};
})
.startWith(initialState)
.scan((acc,curr)=> curr(acc));
Diese sehr sein könnte nützlich, wenn ich mehrere Streams bin Verschmelzung, aber es scheint auch, wie es übermäßig sein könnte kompliziert. Gibt es eine bessere Möglichkeit, Daten und Funktionen im Stream zu übergeben? Hier ist ein Behälter dieses Beispiels link
Vielen Dank für Ihre Rückmeldung, aber das Problem war ich von Design einfach geschrieben, um einen viel kompliziert dar, in dem Scan-Zustand hält das wird aus mehreren Streams zusammengeführt. – jamesRH
Nun, ich weiß nicht, über Ihr Problem, so kann ich Ihnen nicht helfen, aber Ihre Lösung mit Scan schien sehr schlau. – SuperManitu