-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
질문이요
19.12.03 16:36 작성 조회수 118
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 만 나오네요??
그런데 이상하게, 댓글창은 열리고 닫히네요... ??
어떻게 된건지 이해가 안가네요 ㅠㅠ?
답변을 작성해보세요.
0
조현영
지식공유자2019.12.03
setCommentFormOpened(prev => !prev);는 비동기입니다. 전후로 console.log찍어도 setCommentFormOpened(prev => !prev);보다 먼저 실행돼서 둘 다 false로 뜹니다.
답변 1