質問編集履歴

4

文法の修正

2021/11/20 06:54

投稿

butisasa
butisasa

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,6 @@
1
1
  調べた結果検索に引っ掛からなかったので、教えていただきたいのですが、
2
2
 
3
- 下記のような変数宣言に使用されている(const _: never = action)の
4
-
5
- _(アンダースコア)は何を表しているのでしょうか?
3
+ 下記のような変数宣言に使用されている_(アンダースコア)は何を表しているのでしょうか?
6
4
 
7
5
  このパターン以外にもたまに見かけるので、_の意味を知りたいです。
8
6
 
@@ -10,90 +8,6 @@
10
8
 
11
9
  ```tsx
12
10
 
13
- import React, { createContext, useReducer } from 'react'
14
-
15
-
16
-
17
- const initialState = {
18
-
19
- isOpen: true,
20
-
21
- }
22
-
23
- type State = {
24
-
25
- isOpen: boolean
26
-
27
- }
28
-
29
- type Action =
30
-
31
- | { type: 'test' }
32
-
33
-
34
-
35
- export const Context = createContext<{
36
-
37
- State: State
38
-
39
- dispatch: React.Dispatch<Action>
40
-
41
- }>({ State: initialState, dispatch: () => undefined })
42
-
43
-
44
-
45
- const reducer = (State: State, action: Action) => {
46
-
47
- switch (action.type) {
48
-
49
- case 'test': {
50
-
51
- return { isOpen: !State.isOpen }
52
-
53
- }
54
-
55
- default: {
56
-
57
- const _: never = action
11
+ const _: never = action
58
-
59
- throw new Error(`action.typeの値が不正です`)
60
-
61
- }
62
-
63
- }
64
-
65
- }
66
-
67
-
68
-
69
- type ProviderProps = {
70
-
71
- children: React.ReactNode
72
-
73
- }
74
-
75
-
76
-
77
- export const Provider = ({
78
-
79
- children,
80
-
81
- }: ProviderProps) => {
82
-
83
- const [State, dispatch] = useReducer(reducer, initialState)
84
-
85
- return (
86
-
87
- <Context.Provider value={{ State, dispatch }}>
88
-
89
- {children}
90
-
91
- </Context.Provider>
92
-
93
- )
94
-
95
- }
96
-
97
-
98
12
 
99
13
  ```

3

文法の修正

2021/11/20 06:54

投稿

butisasa
butisasa

スコア5

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,8 @@
3
3
  下記のような変数宣言に使用されている(const _: never = action)の
4
4
 
5
5
  _(アンダースコア)は何を表しているのでしょうか?
6
+
7
+ このパターン以外にもたまに見かけるので、_の意味を知りたいです。
6
8
 
7
9
 
8
10
 

2

文法の修正

2021/11/20 06:40

投稿

butisasa
butisasa

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  調べた結果検索に引っ掛からなかったので、教えていただきたいのですが、
2
2
 
3
+ 下記のような変数宣言に使用されている(const _: never = action)の
4
+
3
- 下記のような変数宣言に使用されている_(アンダースコア)は何を表しているのでしょうか?
5
+ _(アンダースコア)は何を表しているのでしょうか?
4
6
 
5
7
 
6
8
 

1

誤字

2021/11/20 06:39

投稿

butisasa
butisasa

スコア5

test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,90 @@
6
6
 
7
7
  ```tsx
8
8
 
9
+ import React, { createContext, useReducer } from 'react'
10
+
11
+
12
+
13
+ const initialState = {
14
+
15
+ isOpen: true,
16
+
17
+ }
18
+
19
+ type State = {
20
+
21
+ isOpen: boolean
22
+
23
+ }
24
+
25
+ type Action =
26
+
27
+ | { type: 'test' }
28
+
29
+
30
+
31
+ export const Context = createContext<{
32
+
33
+ State: State
34
+
35
+ dispatch: React.Dispatch<Action>
36
+
37
+ }>({ State: initialState, dispatch: () => undefined })
38
+
39
+
40
+
41
+ const reducer = (State: State, action: Action) => {
42
+
43
+ switch (action.type) {
44
+
45
+ case 'test': {
46
+
47
+ return { isOpen: !State.isOpen }
48
+
49
+ }
50
+
51
+ default: {
52
+
9
- const _: never = action
53
+ const _: never = action
54
+
55
+ throw new Error(`action.typeの値が不正です`)
56
+
57
+ }
58
+
59
+ }
60
+
61
+ }
62
+
63
+
64
+
65
+ type ProviderProps = {
66
+
67
+ children: React.ReactNode
68
+
69
+ }
70
+
71
+
72
+
73
+ export const Provider = ({
74
+
75
+ children,
76
+
77
+ }: ProviderProps) => {
78
+
79
+ const [State, dispatch] = useReducer(reducer, initialState)
80
+
81
+ return (
82
+
83
+ <Context.Provider value={{ State, dispatch }}>
84
+
85
+ {children}
86
+
87
+ </Context.Provider>
88
+
89
+ )
90
+
91
+ }
92
+
93
+
10
94
 
11
95
  ```