【问题标题】:Passing props to child component Cyclejs将 props 传递给子组件 Cyclejs
【发布时间】:2017-02-16 08:15:22
【问题描述】:

我正在研究 CycleJs,我正在寻找一种正确的方法来处理将 props 传递给子组件。

实际上,我有以下东西:

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)
}

它只允许进行一些输入,并将其显示在名为 Title 的子组件中。

我认为我应该使用流来处理将道具传递给我的孩子。

但我不明白为什么在这种简单的情况下使用流而不是原语会是一个更好的解决方案?

有些东西我可能还没有理解。

【问题讨论】:

    标签: cyclejs


    【解决方案1】:

    你没有误解任何东西。没有正确的答案。如果您知道一个事实,您将永远不想在初始化后更改props,那么您可以将props 作为原语传递,但更常见的约定是发送props$,因为这样做成本并不高O.of(x) vs x(假设是 RxJS)之类的东西,在任何地方都使用流与框架的理念是一致的。此外,有时您希望在组件初始化后动态更改属性,此时流是合适的。

    为所有组件保持一致的propsprops$ 约定可以使阅读代码更容易,因为您不必考虑“这个组件是使用原语还是道具流......?”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 2018-08-11
      • 1970-01-01
      相关资源
      最近更新 更多