Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
mizchi committed Jun 6, 2020
1 parent 169c33d commit 6818a86
Show file tree
Hide file tree
Showing 2 changed files with 499 additions and 5 deletions.
10 changes: 5 additions & 5 deletions docs/202005271609-react-app-context.mdx
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
---
title: React Context を用いた簡易 Flux
title: React Context を用いた簡易 Store
created: 1590563363484
tags: []
tags: [react, flux]
---

## 課題

- redux を引っ張り出すと大仰になる。Context 下に共有ステートを持ってそこに setState できるだけでよい。
- なので、次の 2 つを用意する
- 現在の state を参照する `const appState = useAppState()`
- 現在の state を更新する `const setAppState = useSetAppState()`
- 現在の state を更新する関数を返す `const setAppState = useSetAppState()`
- `React.useState()` と違って分割している理由は、主にパフォーマンス上の理由
- 大域な参照なので、可能な限り参照したくない
- 大域な参照なので、可能な限りステートを参照したくない
- `setState()` の API は `(prevState: State) => State` も取れるので、状態更新用途に限ってはそもそも `useAppState()` せずに済むことが多い
- でも毎回書いてるけどボイラープレート感強い上に忘れるのでここにメモする

Expand All @@ -25,7 +25,7 @@ export type AppState = {
value: number;
};

const initialState = {
const initialState: AppState = {
value: 0,
};

Expand Down
Loading

0 comments on commit 6818a86

Please sign in to comment.