イムはあまりWeb開発者の私は、.NETの周り私の方法を知っています。私は、Webアプリを作るのが刺しを取ることにしたと私は、レンダリングされたコンテンツを処理する方法で少し苦労しています。
例は、(あなたがウェブアプリからこれを行うべきではないという事実を越えて見る)システムからのファイルとフォルダを削除するアプリです
私は、モーダルに読み込むというコンポーネントを持っています。それがロードすると、それはあなたがフォルダを削除するかどうかを尋ねるように求められます。あなたは確認またはキャンセルすることができます。あなたが確認した場合には、「これが完了するまでお待ちください」や「ちょっとその完成」へのメッセージの変更を終えたら、というメッセージにフォルダやコンテンツの変更を除去する工程を経ます。
このシナリオでは、次のように見ている私のコンポーネントが得られています
if(initialState)
{
ask for confirmation
}
else if(RemovingState)
{
please wait while this is completed
}
else if(CompletedState)
{
Hey its finished
}
私の方法でこの結果は、それらの開始時に、この厄介なフラグフリッピングを持ちます
StartRemoveMethod()
{
initialState = false;
RemovingState = true;
DoTheRemoval
}
これはただで動作するように奇妙な感じ。私は新しいフラグと別紹介する必要が意味するであろう追加のチェック、追加で探していますelse if
セクションを。私は完全に何かが欠けていた場合、私はちょうど疑問に思ってか、これは基本的に私がやるべきかのアイデアですか?
Blazorはあなたがリサイズなどから来ている場合は特に、間違いなく心シフトのビットです。これは、コンポーネントに物事を切り刻むする方法を動作するようにしようとしたときに、分析麻痺で終わることは非常に簡単です。あなたの具体的な例に関しては、それは(スイッチと列挙型のアプローチは少しそれを片付けるだろうが)行くには完全に合理的な方法です。
まだとして本当に詳細な例の偉大な取引が存在しないので、それはまだBlazorのためのかなり初期の頃です。:一つ本当に良いものはBlazorチームのブレイジングピザのチュートリアルですhttps://github.com/dotnet-presentations/blazor-workshop/。これは、アプリケーションの状態を管理する方法についていくつかの本当に有用なガイダンスと一緒に完全なシステムを構築するを説明します。
あなたはまた、いくつかの入門を見てすることができます(Facebookの)コンポーネントと状態管理を構築記述する記事が反応します。概念は古いWinFormsのパラダイムよりもBlazorにはるかに優れて転送します。彼らはベースのUIに近づくコンポーネントで発生するいくつかのかなり一般的な状態の問題を解決する一般的な方法であるように、それはまた、フラックス/ Reduxのの概念について少し読む価値があります。