2017-02-16 147 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) 
} 

它只是允許做一些投入,並在所謂的標題子組件來顯示它。

我想我應該用流處理傳遞道具給我的孩子。

但我不明白爲什麼這將是一個更好的解決方案,在這個簡單的使用流而不是原始的?

有些東西我可能還沒有明白。

回答

1

你沒有誤解任何東西。沒有正確的答案。如果你知道一個事實,你永遠不會想要在初始化後更改props,那麼你可以將props作爲原語傳遞,但更常見的約定是發送props$,因爲執行類似O.of(x)x(假設RxJS)並且在任何地方使用流都符合框架的哲學。此外,有時您會想要在組件初始化後動態更改屬性,其中流是合適的。

對於所有組件,保持一致的propsprops$約定可以使代碼更容易閱讀,因爲您不必考慮「此組件是否使用原語或流道作爲道具?」?

相關問題