私はCycleJSの周りを頭で覆いたいと思っていますが、私は立ち往生しています!私は、オブジェクトの配列を含むJSONファイルをロード一緒に小さなアプリを入れしようとしているが、私は今のところここに私のコードでCycleJSアプリにjsonデータをロード
'use strict';
import Rx from 'rx';
import Cycle from '@cycle/core';
import {h, makeDOMDriver} from '@cycle/dom';
import {makeHTTPDriver} from '@cycle/http';
function intent(DOM) {
return {
edit: DOM.select('div')
.events('click')
.map(evt => evt.target.value),
add: DOM.select('div')
.events('click')
.map(evt => evt.target.value)
};
}
function model(actions, response) {
return response
}
function view(state) {
return state.map(item => {
h('div', [
item.map(todo => h('div', todo.title))
])
});
}
function main(sources) {
const URL = 'http://localhost:3000/js/planinator/data.json';
let response = sources.HTTP
.mergeAll()
.map(res => res.body)
.startWith([]);
const actions = intent(sources.DOM);
const state = model(actions, response);
return {
DOM: view(state),
HTTP: Rx.Observable.of(URL)
}
}
Cycle.run(main, {
DOM: makeDOMDriver('#appmount'),
HTTP: makeHTTPDriver()
});
を実行するためのアプリを取得することはできません
私が達成しようとしているのは、 JSONデータをロードして、これをdivタグとしてレンダリングします。
私はクロームでコードを実行すると、私はコンソールに
bundle.js:14182 TypeError: Cannot read property 'subscribe' of undefined(…)
をこれを取得、私はstackoverflowので見つかった質問をチェックして、彼らが私を取得していないAYさらに
あなたは 'sources.HTTP'または' request'でviewを呼び出すのですか? –
あなたのコードからわからない場合は、divにマップするためのstate.map()の場所が必要になります。この例では、正しい軌道に乗るかもしれません。https://github.com/cyclejs/examples/blob/master/http-search-github/src/main.js – jamesRH