0

ストリームを 1 つに結合し、テキストを h1 に表示しようとして失敗しました。

しかし、それを機能させることができません:

これは私のコードです:

function main(sources) {
  // single streams
  let letter$ = xs.of({text: 'abcd'}); 
  let number$ = xs.of({text: '123456'});

  //try to combine them into one
  const combined$ = 
    xs.combine( letter$, number$ ).
      map( ( [ letter, number ] ) => {
        return { text: letter.text + ' ' + number.text };
      });

  //updates the virtual dom with the reponse
  const vdom$ = combined$
    .map(o => o.text) 
    .startWith('Loading...')
    .map(text =>
      div('.container', [
        h1(text)
      ])
    );


  return {
    DOM: vdom$
  };
}

次のようなエラーが表示されます。

index.js:6 TypeError: f is not a function
at invoke (core.js:36)
at CombineListener._n (core.js:72)
at Stream._n (core.js:886)
at FromArrayProducer._start (core.js:142)
at Stream._add (core.js:959)
at CombineProducer._start (core.js:118)
at Stream._add (core.js:959)
at MapOperator._start (core.js:681)
at Stream._add (core.js:959)
at StartWithOperator._start (core.js:786)

理由を理解しようとしていますが、今のところ運がありません。

4

1 に答える 1

2

私の問題は、CycleJS リポジトリのサンプルの package.json で指定された依存関係を使用することでした。

これらの依存関係は時代遅れです:

https://github.com/cyclejs/cyclejs/blob/master/examples/http-search-github/package.json

"dependencies": {
   "@cycle/xstream-run": "1.1.0",
   "@cycle/dom": "10.0.0-rc20",
   "@cycle/http": "9.0.0-rc3",
   "xstream": "2.4.x"
}

現在までの依存関係は次のとおりです。

"@cycle/dom": "^12.1.0",
"@cycle/http": "^10.1.0",
"@cycle/xstream-run": "^3.0.4",
"xstream": "^5.3.6"

最新の安定した依存関係の経験則を確認してください。

@bloodyKnuckles と CycleJS gitter の皆さんに感謝します。

于 2016-08-18T15:56:48.470 に答える