只是试图来愚蠢的东西,并与Cycle.js玩耍。并遇到问题。基本上我只是有一个按钮。当你点击它时,假设将该位置导航到随机哈希并显示它。几乎就像一个没有预定义路由的愚蠢路由器。 IE浏览器。路线是动态的。再次,这不是什么实际的,我只是搞乱了一些东西,并试图学习Cycle.js。但是当我点击“添加”按钮后,下面的代码崩溃了。但是位置已更新。如果我实际上只是导航到“#/ asdf”,它显示正确的内容与“哈希:#/ asdf”。不知道为什么流与错误而崩溃:简单的历史记录推碰
渲染dom.js:242类型错误:无法读取属性未定义“订阅”(...)
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')
});
感谢您的帮助
啊是有道理的。应该已经想通了。谢谢帮助表示赞赏 – Bojan