File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed
Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -47,9 +47,15 @@ addTodoButton.onclick = () => {
4747
4848ところが、アプリケーションの本質的な状態というのは、一般的にそこまで多いものではありません。例えば、ToDoリストアプリケーションであれば、各ToDoを表す` string ` の配列` string[] ` がひとつだけあれば、アプリケーションの状態は全て表現できていることになるはずです。
4949
50- ** 宣言的UI** は、こういった性質に着目します。より具体的に説明するのであれば 、アプリケーションの状態$S$に対し、関数$f(S)$によりUIの状態を表現できるのであれば、開発者の関心を$S$の変化と$f$の定義のみに絞ることができるというわけです。
50+ ** 宣言的UI** は、こういった性質に着目します。より一般的に説明するのであれば 、アプリケーションの状態$S$に対し、関数$f(S)$によりUIの状態を表現できるのであれば、開発者の関心を$S$の変化と$f$の定義のみに絞ることができるというわけです。
5151
52- 具体的なコードで確認してみましょう。先ほどのToDoアプリケーションを、宣言的UIのアプローチを用いて書き換えてみましょう。状態を追いやすいよう、TypeScriptを用いて記述します。
52+ まず具体的に状態を持ったTodoアプリケーションを見てみましょう。 状態$S$は変数` state ` であり、関数$f(S)$は変数` state ` の値に応じたUIを描画する` render ` 関数です。
53+ アプリケーションの状態は` remove("寝る") ` によってState AからState Bに遷移します。State AとState BのUIは、` render ` 関数により、状態の値に応じて描画されます。アプリケーションの状態が
54+ ` state ` と` render ` 関数に集約されていることがわかります。
55+
56+ ![ 宣言的UIの概念図] ( ./declarative-ui.drawio.svg )
57+
58+ 次に、コードで確認してみましょう。先ほどのToDoアプリケーションのコードを、宣言的UIのアプローチを用いて書き換えてみましょう。状態を追いやすいよう、TypeScriptを用いて記述します。
5359
5460まずはアプリケーションの状態と、その状態を格納する変数を宣言します。
5561
You can’t perform that action at this time.
0 commit comments