@@ -101,10 +101,19 @@ export default class AskUI extends React.PureComponent<Props, State> {
101
101
}
102
102
103
103
public static getDerivedStateFromProps ( props : Props , state : State ) {
104
+ console . error (
105
+ "!!!!!!!!" ,
106
+ state . form ,
107
+ state . form && state . form . ask === props . ask ,
108
+ state . form && state . form . ask ,
109
+ props . ask
110
+ )
104
111
if ( state . userSelection && props . ask . prompt . choices . find ( ( _ ) => _ . name === state . userSelection ) ) {
112
+ console . error ( "!!!!!!!A" )
105
113
return state
106
114
} else if ( state . form && state . form . ask === props . ask ) {
107
115
// there has been an update to the form, nothing to do here
116
+ console . error ( "!!!!!!!B" , state . form )
108
117
return state
109
118
} else {
110
119
const suggested = props . ask . prompt . choices . find ( ( _ ) => ( _ as any ) [ "isSuggested" ] )
@@ -115,6 +124,7 @@ export default class AskUI extends React.PureComponent<Props, State> {
115
124
M [ _ . name ] = ( _ as any ) [ "initial" ]
116
125
return M
117
126
} , { } as Record < string , string > )
127
+ console . error ( "!!!!!!!C" , state )
118
128
return {
119
129
form : { ask : props . ask , state } ,
120
130
userSelection : ! suggested ? undefined : suggested . name ,
@@ -349,9 +359,14 @@ export default class AskUI extends React.PureComponent<Props, State> {
349
359
private readonly _onFormChange = ( value : string , evt : React . FormEvent < HTMLInputElement > ) => {
350
360
const name = evt . currentTarget . getAttribute ( "data-name" )
351
361
if ( name && this . state . form ) {
352
- this . setState ( ( curState ) =>
353
- ! curState . form ? null : { form : Object . assign ( { } , curState . form , { [ name ] : value } ) }
354
- )
362
+ this . setState ( ( curState ) => {
363
+ if ( curState . form ) {
364
+ curState . form . state [ name ] = value
365
+ return { form : Object . assign ( { } , curState . form ) }
366
+ } else {
367
+ return null
368
+ }
369
+ } )
355
370
}
356
371
}
357
372
0 commit comments