大きなアプリのすべてのコードをメイン () に配置し、その DOM 効果を個別にチャネライズする方法がわかりません。
他のライブラリやフレームワークと同様に、大規模なアプリは、通常はコンポーネントと呼ばれる小さな部分に分けて構築する必要があります。サイクルでは、コンポーネントは実際には単なる小さなサイクル アプリケーションです。何百ものコンポーネントを作成し、それらすべてがmain
機能を持ち、それらを他のコンポーネント内に構成することができます。他の関数から任意の関数を構成するのと同じように、非常に単純です。
function theWholeApp() {
subComponent()
subComponent2()
}
function subComponent() {
anotherNestedComponent()
}
// etc
コンポーネントのウォークスルーでわかるように、BMI Calculator は関数から構築されたmain
コンポーネントであり、独自のメイン関数を持つ Labeled Slider コンポーネントを利用します。同じ手法を使用して、BMI Calculator を別のコンポーネント内に出力することができます。コンポーネントは通常、コンポーネントとして動作するように分離する必要があります。
Cycle を使用して作成するコードはすべて関数型であるため、コードを好きなだけ多くまたは少数の関数に分割できます。ただし、推奨されるパラダイムはmodel-view-intentで、各コンポーネントはそれぞれの関数に分割されます。
function main({DOM}) {
return {DOM: view(model(intent(DOM)))};
}
大規模なアプリの場合は、ルーティングも必要になります。cycle-router
by TylorSが現在の方法のようです。Cycle は新しく、Angular や React のようなプロジェクトほど多くのコミュニティからのインプットの恩恵を受けていません。現時点では、チュートリアル、例、およびcycle-router
. これらすべてがやがて改善され、Cycle がより実行可能になります。技術的な観点からは、Cycle はアプリケーションを作成するための素晴らしいアプローチですが、より多くのリソースが利用可能になるまで、すべての人にとって実用的ではないかもしれません.
Cmdv によるこのサンプル プロジェクトは、開始するのに役立つ場合があります。