Feat/week compose 06#12
Conversation
| var loginId = mutableStateOf("") | ||
| var loginPw = mutableStateOf("") |
There was a problem hiding this comment.
recomposition을 위해 이렇게 바꾸는건 어떨까요?
| var loginId = mutableStateOf("") | |
| var loginPw = mutableStateOf("") | |
| var loginId by remember { mutableStateOf("") } | |
| var loginPw by remember { mutableStateOf("") } |
| Toast.makeText( | ||
| context, | ||
| "로그인 성공", | ||
| Toast.LENGTH_SHORT, | ||
| ).show() |
There was a problem hiding this comment.
뷰모델의 역할에 맞게 토스트 메세지는 뷰에서 띄우면 좋을 것 같아요!
cacaocoffee
left a comment
There was a problem hiding this comment.
합세때문에 바쁠텐데도 과제까지 하느라 수고 많으셨습니다! viewmodel 에 통신 로직은 6주차때 배웠던 것들로 바꿔보시길 추천드려요!
| var signupId = mutableStateOf("") | ||
| var signupPw = mutableStateOf("") | ||
| var signupName = mutableStateOf("") | ||
| var signupPhone = mutableStateOf("") |
There was a problem hiding this comment.
이 부분도 위에 정현님이 말씀해 주신것처럼 변경하면 좋을거 같아요
chanubc
left a comment
There was a problem hiding this comment.
리컴포지션만 주의하면 좋을것 같아요!
나머지는 xml과 동일합니다!
| <uses-library | ||
| android:name="org.apache.http.legacy" | ||
| android:required="false" /> | ||
|
|
| request = RequestSignUpDto( | ||
| authenticationId = authEntity.id, | ||
| password = authEntity.pw, | ||
| nickname = authEntity.name ?: "", |
There was a problem hiding this comment.
| nickname = authEntity.name ?: "", | |
| nickname = authEntity.name.orEmpty(), |
쿄틀린의 확장함수도 사용 가능해요!
| @GET("member/info") | ||
| fun getUserInfo( | ||
| @Header("memberId") memberId : Int | ||
| ): Call<ResponseUserProfile> |
| value = viewModel.loginId.value, | ||
| onValueChange = { viewModel.loginId.value = it }, |
There was a problem hiding this comment.
이러면 리컴포지션에 영향을 받을거 같아요! by 를 활용해보아요 (저도 리컴포지션은 아직..)ㅠ
| var signUpId = mutableStateOf("") | ||
| var signUpPw = mutableStateOf("") | ||
| var signUpName = mutableStateOf("") | ||
| var signUpPhone = mutableStateOf("") |
There was a problem hiding this comment.
| var signUpId = mutableStateOf("") | |
| var signUpPw = mutableStateOf("") | |
| var signUpName = mutableStateOf("") | |
| var signUpPhone = mutableStateOf("") | |
| var signUpId by remember { mutableStateOf("") } | |
| var signUpPw by remember { mutableStateOf("") } | |
| var signUpName by remember { mutableStateOf("") } | |
| var signUpPhone by remember { mutableStateOf("") } |
이렇게 해야 리컴포지션 영향을 받지 않을 것 같아요!
remember는 상태를 유지하여 리컴포지션이 발생하더라도 입력된 값이 초기화되지 않도록 해준다고 하네요!
by remember를 같이 사용하면 상태관리에 더욱 효율적일 것 같아요!
There was a problem hiding this comment.
NOW-SOPT-ANDROID/chanwoo-bae#17 (comment)
var id by rememberSaveable { mutableStateOf("") }
var password by rememberSaveable { mutableStateOf("") }
var nickName by rememberSaveable { mutableStateOf("") }
var mbti by rememberSaveable { mutableStateOf("") }rememberSaveable: 컴포넌트의 생명주기 동안 상태를 유지하며, 프로세스 종료 및 구성 변경(예: 화면 회전) 시에도 상태를 유지합니다.
이런것도 있다고 합니다!!
📌𝘐𝘴𝘴𝘶𝘦𝘴
📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯
📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵
week06.compose.mp4
💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴