質問するログイン新規登録

質問編集履歴

5

誤字の修正

2020/01/22 17:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -149,7 +149,7 @@
149
149
  export default DrawerItems
150
150
  ```
151
151
  ## 追記2
152
- DrawerItemsはMaterial-UIのDrawerの中のリストとしてインポートしています。(3行目)
152
+ DrawerItemsはMaterial-UIのDrawerの中のリストとしてインポートしています。(下から3行目)
153
153
  ```
154
154
  略。。。
155
155
  <IconButton

4

追記の追加

2020/01/22 17:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -148,8 +148,40 @@
148
148
 
149
149
  export default DrawerItems
150
150
  ```
151
-
152
151
  ## 追記2
152
+ DrawerItemsはMaterial-UIのDrawerの中のリストとしてインポートしています。(3行目)
153
+ ```
154
+ 略。。。
155
+ <IconButton
156
+ color="inherit"
157
+ aria-label="open drawer"
158
+ edge="start"
159
+ onClick={handleDrawerToggle}
160
+ >
161
+ <MenuIcon />
162
+ </IconButton>
163
+ <nav aria-label="menu">
164
+ {/* The implementation can be swapped with js to avoid SEO duplication of Styledlinks. */}
165
+ <Hidden smUp implementation="css">
166
+ <Drawer
167
+ variant="temporary"
168
+ anchor="left"
169
+ open={open}
170
+ onClose={handleDrawerToggle}
171
+ ModalProps={{
172
+ keepMounted: true, // Better open performance on mobile.
173
+ }}
174
+ classes={{
175
+ paper: classes.drawerPaper,
176
+ }}
177
+ >
178
+ <div className={classes.toolbar} />
179
+ <Divider />
180
+ <DrawerItems />
181
+ </Drawer>
182
+ </Hidden>
183
+ ```
184
+ ## 追記3
153
185
  <List onClick={dispatch(actions.jwtLogout)}>の前に、console.log(dispatch)とconsole.log(dispatch(actions.jwtLogout))を実行したところ下記の様に表示されました。
154
186
  ```
155
187
  ƒ (action) {

3

追記2の編集

2020/01/22 17:18

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -150,7 +150,7 @@
150
150
  ```
151
151
 
152
152
  ## 追記2
153
- <List onClick={dispatch(actions.jwtLogout)}>の前に、console.log(dispatch)を実行したところ下記の様に表示されました。
153
+ <List onClick={dispatch(actions.jwtLogout)}>の前に、console.log(dispatch)とconsole.log(dispatch(actions.jwtLogout))を実行したところ下記の様に表示されました。
154
154
  ```
155
155
  ƒ (action) {
156
156
  if (typeof action === 'function') {
@@ -159,4 +159,13 @@
159
159
 
160
160
  return next(action);
161
161
  }
162
+ ```
163
+ ```
164
+ async dispatch => {
165
+ // TODO: gRpcログアウト && try-catch
166
+ dispatch({
167
+ type: _utils_actionTypes__WEBPACK_IMPORTED_MODULE_0__["START_REQUEST"]
168
+ });
169
+ console.log('Logout');
170
+ localStorage…
162
171
  ```

2

追記2

2020/01/22 17:13

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -147,4 +147,16 @@
147
147
  `
148
148
 
149
149
  export default DrawerItems
150
+ ```
151
+
152
+ ## 追記2
153
+ <List onClick={dispatch(actions.jwtLogout)}>の前に、console.log(dispatch)を実行したところ下記の様に表示されました。
154
+ ```
155
+ ƒ (action) {
156
+ if (typeof action === 'function') {
157
+ return action(dispatch, getState, extraArgument);
158
+ }
159
+
160
+ return next(action);
161
+ }
150
162
  ```

1

追記

2020/01/22 17:07

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -74,4 +74,77 @@
74
74
  dispatch(setNotification('success', 'ログアウト成功!'))
75
75
  }
76
76
  }
77
+ ```
78
+ ##追記
79
+ Material-UIでDrawerの中身をログイン時と非ログイン時で分けているのですが、非ログイン時に表示されるログアウト項目をクリックするとjwtLogoutが発火するというイメージです。
80
+ ```TypeSciript
81
+ 略。。。
82
+
83
+ const DrawerItems: React.FC = () => {
84
+ const [open, setOpen] = React.useState(false)
85
+ const dispatch = useDispatch()
86
+
87
+ const isAuthenticated = useSelector((state: any) => state.AuthReducer.isAuthenticated)
88
+
89
+ const handleDrawerToggle = () => {
90
+ setOpen(!open)
91
+ }
92
+ const openLoginDialog = () => {
93
+ dispatch({ type: actionTypes.OPEN_LOGIN_DIALOG })
94
+ handleDrawerToggle()
95
+ }
96
+
97
+ const unAuthenticated = (
98
+ 略。。。
99
+ )
100
+
101
+ const authenticated = (
102
+ <>
103
+ 略。。。
104
+ <List onClick={handleDrawerToggle}>
105
+ <StyledLink to="/mypage">
106
+ <ListItem button>
107
+ <ListItemIcon>
108
+ <AccountCircle />
109
+ </ListItemIcon>
110
+ <ListItemText primary="マイページ" />
111
+ </ListItem>
112
+ </StyledLink>
113
+ </List>
114
+ <List onClick={dispatch(actions.jwtLogout)}>
115
+ <StyledLink to="/logout">
116
+ <ListItem button>
117
+ <ListItemIcon>
118
+ <Lock />
119
+ </ListItemIcon>
120
+ <ListItemText primary="ログアウト" />
121
+ </ListItem>
122
+ </StyledLink>
123
+ </List>
124
+ <List onClick={handleDrawerToggle}>
125
+ <StyledLink to="/about">
126
+ <ListItem button>
127
+ <ListItemIcon>
128
+ <InfoIcon />
129
+ </ListItemIcon>
130
+ <ListItemText primary="自動販売機とは" />
131
+ </ListItem>
132
+ </StyledLink>
133
+ </List>
134
+ </>
135
+ )
136
+
137
+ return (
138
+ <>
139
+ { isAuthenticated === true ? authenticated : unAuthenticated }
140
+ </>
141
+ )
142
+ }
143
+
144
+ const StyledLink = styled(Link)`
145
+ text-decoration: none;
146
+ color: black;
147
+ `
148
+
149
+ export default DrawerItems
77
150
  ```