nur versuchen, albern Sachen und herumspielen mit Cycle.js. und auf ein Problem stoßen. Im Grunde habe ich nur einen Knopf. Wenn Sie darauf klicken, wird der Standort zu einem zufälligen Hashwert navigiert und angezeigt. Fast wie ein dummer Router ohne vordefinierte Routen. Ie. Routen sind dynamisch. Wiederum ist das nichts Praktisches. Ich bin nur mit ein paar Sachen beschäftigt und versuche Cycle.js zu lernen. Aber der folgende Code stürzt ab, nachdem ich auf "Hinzufügen" geklickt habe. Der Standort wird jedoch aktualisiert. Wenn ich nur zu "#/asdf" navigiere, wird der korrekte Inhalt mit "Hash: #/asdf" angezeigt. Nicht sicher, warum der Fluss mit Fehler abstürzt:Crash mit einfacher Geschichte Push
render-dom.js: 242 Typeerror: kann nicht lesen Eigenschaft 'subscribe' undefinierte (...)
import Rx from 'rx';
import Cycle from '@cycle/core';
import { div, p, button, makeDOMDriver } from '@cycle/dom';
import { createHashHistory } from 'history';
import ranomdstring from 'randomstring';
const history = createHashHistory({ queryKey: false });
function CreateButton({ DOM }) {
const create$ = DOM.select('.create-button').events('click')
.map(() => {
return ranomdstring.generate(10);
}).startWith(null);
const vtree$ = create$.map(rs => rs ?
history.push(`/${rs}`) :
button('.create-button .btn .btn-default', 'Add')
);
return { DOM: vtree$ };
}
function main(sources) {
const hash = location.hash;
const DOM = sources.DOM;
const vtree$ = hash ?
Rx.Observable.of(
div([
p(`Hash: ${hash}`)
])
) :
CreateButton({ DOM }).DOM;
return {
DOM: vtree$
};
}
Cycle.run(main, {
DOM: makeDOMDriver('#main-container')
});
Danke für die Hilfe
Ahh, die Sinn macht. Sollte es herausgefunden haben. Danke Hilfe geschätzt! – Bojan