@@ -43,13 +43,14 @@ function Login({
4343 [ ] ,
4444 ) ;
4545
46- const handlesOnPasswordChange = (
47- event : React . ChangeEvent < HTMLInputElement > ,
48- ) => {
49- event && event . preventDefault ( ) ;
50- // should add some validator before setState in real use cases
51- setPassword ( event . target . value . trim ( ) ) ;
52- } ;
46+ const handlesOnPasswordChange = useCallback (
47+ ( event : React . ChangeEvent < HTMLInputElement > ) => {
48+ event && event . preventDefault ( ) ;
49+ // should add some validator before setState in real use cases
50+ setPassword ( event . target . value . trim ( ) ) ;
51+ } ,
52+ [ ] ,
53+ ) ;
5354
5455 const handlesOnLogin = async ( event : React . MouseEvent < HTMLButtonElement > ) => {
5556 event && event . preventDefault ( ) ;
@@ -84,44 +85,49 @@ function Login({
8485 } ;
8586 // #endregion
8687
87- const logUser = async ( login : string = '' , password : string = '' ) => {
88- const __SOME_LOGIN_API__ = 'login' ;
89- const url = `${ getLocationOrigin ( ) } /${ __SOME_LOGIN_API__ } ` ;
90- const method = 'post' ;
91- const headers = { } ;
92- const options = {
93- credentials : 'same-origin' ,
94- data : {
95- login,
96- password,
97- } ,
98- } ;
99-
100- if ( appConfig . DEV_MODE ) {
101- return new Promise ( resolve =>
102- setTimeout ( resolve ( { data : userInfoMock } ) , 3000 ) ,
103- ) ;
104- }
105-
106- try {
107- const response = await axios . request ( {
108- method,
109- url,
110- withCredentials : true ,
111- headers : {
112- Accept : 'application/json' ,
113- 'Content-Type' : 'application/json' ,
114- 'Acces-Control-Allow-Origin' : '*' ,
115- ...headers ,
88+ // #region log user request
89+ const logUser = useCallback (
90+ async ( login : string = '' , password : string = '' ) => {
91+ const __SOME_LOGIN_API__ = 'login' ;
92+ const url = `${ getLocationOrigin ( ) } /${ __SOME_LOGIN_API__ } ` ;
93+ const method = 'post' ;
94+ const headers = { } ;
95+ const options = {
96+ credentials : 'same-origin' ,
97+ data : {
98+ login,
99+ password,
116100 } ,
117- ...options ,
118- } ) ;
119-
120- return Promise . resolve ( response ) ;
121- } catch ( error ) {
122- return Promise . reject ( error ) ;
123- }
124- } ;
101+ } ;
102+
103+ if ( appConfig . DEV_MODE ) {
104+ return new Promise ( resolve =>
105+ setTimeout ( ( ) => resolve ( { data : userInfoMock } ) , 3000 ) ,
106+ ) ;
107+ }
108+
109+ try {
110+ const response = await axios . request ( {
111+ method,
112+ url,
113+ withCredentials : true ,
114+ headers : {
115+ Accept : 'application/json' ,
116+ 'Content-Type' : 'application/json' ,
117+ 'Acces-Control-Allow-Origin' : '*' ,
118+ ...headers ,
119+ } ,
120+ ...options ,
121+ } ) ;
122+
123+ return Promise . resolve ( response ) ;
124+ } catch ( error ) {
125+ return Promise . reject ( error ) ;
126+ }
127+ } ,
128+ [ ] ,
129+ ) ;
130+ // #endregion
125131
126132 return (
127133 < FadeInEntrance >
0 commit comments