2016-12-20 10 views
1

Cycleで仮想ドームが使用され、ReactがそれではReact ComponentsをCycle.jsアプリ内で使用できないのはなぜですか?RecleコンポーネントをCycle.jsアプリケーションで使用できないのはなぜですか?

Cycle.jsコンポーネントに既存のReactコンポーネントをラップすることは可能でしょうか? Webコンポーネントのためのリアクトサポートが欠けているのでHigher order FRP with React - why is it not happening?

+1

サイクルの課題トラッカーではなく、なぜここでそれを求めているのかよく分かりません。この質問には非常に高い「意見で答えることができる」という要素があり、話題にはほど遠いものです。明白な質問は「あなたの主張は実際に真実ですか」です。彼らはまったく同じAPIとプログラミングモデルを持つまったく同じ仮想ドミノ(多くのものがあります)を使用していますか(また、多数あります)?そうでない場合は、あなたの答えがあります。 –

+0

そうですね、なぜ彼らは同じVDOMを使用していませんか? Cycle.jsをReactで使っても意味がありますか?そうでない場合は、どうしてですか? Cycle.jsがReactと互換性がないのはなぜですか?別のVDOMを使用している場合のみですか?それとも何か他の理由がありますか?たぶん同じVDOMを使用してもReactとCycle.jsを一緒に使うのは意味がありませんが、その場合はどうしてでしょうか? Cycle.jsの既存のReactコンポーネントを再利用してみませんか?余りに多くの利益(既存のReact Componentsの再利用可能性)に対して、(ラッピングの複雑さの点で)支払うにはあまりにも多くの代価を払うのだろうか? – jhegedus

+0

「バーチャルドーム」は単なる概念であり、そのコンセプトを何百万もの方法で実装することができます。具体的には、コードの必要性に合わせてカスタマイズできます。はるかに良い質問は、「まったく同じ仮想DOMデータ構造とAPIを使用する理由は、まったく同じことを行うのだろうか」ということです。彼らが同じことをしない場合、同じ仮想ドームの実装を使用することは非効率的です(専用のAPI呼び出しの欠如、または必要でない機能からの肥大のため) –

答えて

2

この質問はに関するものです。 Cycle.jsでのサポートを反応させるの構築することは技術的には可能であるhttps://github.com/facebook/react/issues/7901http://staltz.com/react-could-love-web-components.html

を参照してください、しかし、あなたはまた、エンバーや角度やアウレリアのような他のフレームワークは、箱から出して同じことをやって起動するかどうかを尋ねる起動することがあります。その後、AureliaコンポーネントをEmberでサポートするように依頼することで、さらに問題を拡大できます。したがって、 "Bar"フレームワークの "Foo"コンポーネントのサポートを構築することは、非生産的です。これを処理するには、Webコンポーネントが基本的な方法です。

+0

ありがとう!それを調べる必要があります。 – jhegedus

+0

Hmm https://facebook.github.io/react/docs/web-components.html – jhegedus

+0

「ReactでWebコンポーネントを使用するには、そのWCのReactリファレンスにイベントリスナーを直接添付する必要があります。」 「ちょっと」パフォーマンスの問題? – jhegedus

2

Cycle.jsは、他のフレームワーク/ライブラリで使用するのに十分な汎用性があります。実際にはredux-cycle-middlewareがあり、Cycle.jsとともにReact/Reduxを使用することができます。このミドルウェアでは、Cycleを使用してDOMの副作用を処理することはありません。代わりにReactを使用します。次に、他の副作用(HTTP、WebSockets、DOM以外のもの)を処理する必要がある場合は、Cycle.jsを使用できます。

関連する問題