Inflearn Community Q&A
질문이요
Written on
·
169
0
//댓글창 열고 닫기 용.
const [commentFormOpened,setCommentFormOpened] = useState(false);
const onToggleComment = useCallback(() => {
console.log("BRFORE",commentFormOpened)
setCommentFormOpened(prev => !prev);
console.log("AFTER",commentFormOpened)
if(!commentFormOpened){
dispatch({
type: LOAD_COMMENTS_REQUEST,
data: post.id,
})
}
}, []);
댓글창 열고 닫기용이요,
setCommentFormOpened(prev => !prev); 가 true 와 false를 왔다갔다 해야하잖아요./
실질적으로, 콘솔에, 변환하기전 Bfore 과 변환후를 After를
찍어보면은, 값은 변하지는 않고 다 false 만 나오네요??
그런데 이상하게, 댓글창은 열리고 닫히네요... ??
어떻게 된건지 이해가 안가네요 ㅠㅠ?
javascriptreact
Answer 1
0
zerocho
Instructor
setCommentFormOpened(prev => !prev);는 비동기입니다. 전후로 console.log찍어도 setCommentFormOpened(prev => !prev);보다 먼저 실행돼서 둘 다 false로 뜹니다.





