Skip to content

Commit 823e766

Browse files
committed
宣言的UIの説明構成を2段階に戻した
1 parent b7392bd commit 823e766

1 file changed

Lines changed: 4 additions & 8 deletions

File tree

docs/4-advanced/04-react/index.mdx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,7 @@ addTodoButton.onclick = () => {
4949

5050
**宣言的UI**は、こういった性質に着目します。より一般的に説明するのであれば、アプリケーションの状態$S$に対し、関数$f(S)$によりUIの状態を表現できるのであれば、開発者の関心を$S$の変化と$f$の定義のみに絞ることができるというわけです。
5151

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を用いて記述します。
52+
具体的なコードで確認してみましょう。先ほどのToDoアプリケーションのコードを、宣言的UIのアプローチを用いて書き換えてみましょう。状態を追いやすいよう、TypeScriptを用いて記述します。
5953

6054
まずはアプリケーションの状態と、その状態を格納する変数を宣言します。
6155

@@ -94,7 +88,9 @@ function removeTodo(index: number) {
9488

9589
<ViewSource url={import.meta.url} path="_samples/todo-declarative" />
9690

97-
これにより、アプリケーション全体の状態が変数`state`に集約され、開発者が意識すべき状態のパターンを大幅に減らすことに成功しました。
91+
これにより、アプリケーション全体の状態が変数`state`に集約され、開発者が意識すべき状態のパターンを大幅に減らすことに成功しました。このコードでは、状態$S$は変数`state`に、関数$f(S)$は`render`関数に対応しています。例えば、`remove("寝る")`によって`state`が変化すると、`render`関数が再び呼ばれ、新しい状態に応じたUIが描画されます。
92+
93+
![宣言的UIの概念図](./declarative-ui.drawio.svg)
9894

9995
## React
10096

0 commit comments

Comments
 (0)