質問編集履歴

2

エラーが表時されるタイミング

2020/07/20 09:48

投稿

yuki_90453
yuki_90453

スコア326

test CHANGED
File without changes
test CHANGED
@@ -37,6 +37,26 @@
37
37
  和訳
38
38
 
39
39
  「マウントされていないコンポーネントで React の状態更新を実行できません。これはダメですが、アプリケーションのメモリリークを示しています。修正するには、useEffect クリーンアップ関数ですべてのサブスクリプションと非同期タスクをキャンセルしてください。」
40
+
41
+
42
+
43
+ # (追記)エラーが表示されるタイミング
44
+
45
+ ```
46
+
47
+ return cognitoUser ? (<Redirecting />)
48
+
49
+ : nextAuthState === '' ? <SignUp />
50
+
51
+ : nextAuthState === 'ConfirmSignUp' ? <Verification /> // ここがtrueになった時
52
+
53
+ : <p>想定外</p>
54
+
55
+ ```
56
+
57
+ エラーが表示されるタイミングとして<SignUp />から<Verification />へ描画が変わったタイミングでエラーが表示されます。
58
+
59
+
40
60
 
41
61
 
42
62
 

1

signup

2020/07/20 09:48

投稿

yuki_90453
yuki_90453

スコア326

test CHANGED
File without changes
test CHANGED
@@ -45,3 +45,109 @@
45
45
  useEffectを使用してコンポーネントを返すようにしてみましたが型エラーで上手く書けませんでした。
46
46
 
47
47
  どのようにすれば良いかアドバイスお願い致します。
48
+
49
+
50
+
51
+ # 追記
52
+
53
+ SingUpコンポーネントは下記のようになっています。
54
+
55
+ ```
56
+
57
+ function SignUp(){
58
+
59
+ const [email, setEmail] = React.useState<string>('')
60
+
61
+ const [password, setPassword] = React.useState<string>('')
62
+
63
+ const [family_name,setFamily_name] = React.useState<string>('')
64
+
65
+ const [given_name, setGiven_name] = React.useState<string>('')
66
+
67
+ const changedEmailHandler = (event:any) => setEmail(event.target.value)
68
+
69
+ const changedPasswordHandler = (event:any) => setPassword(event.target.value)
70
+
71
+ const changedFnameHandler = (event:any) => setFamily_name(event.target.value)
72
+
73
+ const changedGnameHandler = (event:any) => setGiven_name(event.target.value)
74
+
75
+
76
+
77
+ const signUp = () => {
78
+
79
+ const attributeList = [
80
+
81
+ new CognitoUserAttribute({
82
+
83
+ Name:'email',
84
+
85
+ Value: email
86
+
87
+ }),
88
+
89
+ new CognitoUserAttribute({
90
+
91
+ Name:'family_name',
92
+
93
+ Value: family_name
94
+
95
+ }),
96
+
97
+ new CognitoUserAttribute({
98
+
99
+ Name: 'given_name',
100
+
101
+ Value: given_name
102
+
103
+ })
104
+
105
+ ]
106
+
107
+ userPool.signUp(email, password, attributeList, [], (err, result)=> {
108
+
109
+ if(err) {
110
+
111
+ console.log(err)
112
+
113
+ return
114
+
115
+ }
116
+
117
+ setNextAuthState('ConfirmSignUp')
118
+
119
+ setEmail('')
120
+
121
+ setPassword('')
122
+
123
+ setFamily_name('')
124
+
125
+ setGiven_name('')
126
+
127
+ })
128
+
129
+ }
130
+
131
+ return(
132
+
133
+ <div className="SignUp">
134
+
135
+ <h1 style={{ textAlign: 'left' }}>SignUp_hey</h1>
136
+
137
+ <input type="text" placeholder="email" onChange={changedEmailHandler} />
138
+
139
+ <input type="text" placeholder="password" onChange={changedPasswordHandler} />
140
+
141
+ <input type="text" placeholder="性" onChange={changedFnameHandler} />
142
+
143
+ <input type="text" placeholder="名" onChange={changedGnameHandler} />
144
+
145
+ <button onClick={signUp}>SignUp</button>
146
+
147
+ </div>
148
+
149
+ )
150
+
151
+ }
152
+
153
+ ```