2017-02-16 24 views
0

私はCycleJsを研究しています。子コンポーネントに渡す小道具を処理する適切な方法を探しています。それは単にいくつかの入力を行うために、そしてタイトルと呼ばれる子コンポーネントでそれを表示することができます子コンポーネントに小道具を渡すCyclejs

import {div, input} from '@cycle/dom' 


export function App(sources) { 
    const inputOnChange$ = sources.DOM.select('input').events('input') 
    const streamofResult = inputOnChange$ 
     .map(e => e.target.value) 
     .startWith('') 
     .map(defaultInput => { 
      const title = Title({value: defaultInput}) 
      return div([ 
       title, 
       input({attrs: {type: 'text'}}) 
      ]) 
     }) 
    const sinks = {DOM: streamofResult} 
    return sinks 
} 


export function Title(sources) { 
    return div(sources.value) 
} 

実は、私は、次のものをm個。

私の子供に小道具を渡すためにストリームを使うべきだと思います。

しかし、この単純な方法でプリミティブではなくストリームを使用する方が良い理由は分かりません。

おそらく私が理解していないことがあります。

答えて

1

あなたは何かを誤解していません。正解はありません。あなたが事実を知っていれば、propsを初期化した後に変更したくない場合は、propsをプリミティブとして渡すことができますが、O.of(x)xのような処理を行うにはあまりコストがかからないので、より一般的な規則はprops$です。 RxJSを前提としています)、どこでもストリームを使用することは、フレームワークの哲学と一致しています。また、ストリームが適切であるコンポーネントの初期化後にプロパティを動的に変更する必要がある場合があります。

あなたが考える必要はありませんので、簡単にコードを読むことができますすべてのコンポーネントのための一貫したpropsまたはprops$慣習を維持、「このコンポーネントは、小道具のためのプリミティブまたはストリームを使用しています...?」

関連する問題