오늘 한 일

프로젝트 댓글 수정, 삭제 기능 구현 완료

 

배운점 및 느낀 점

오늘 댓글 수정, 삭제 기능을 구현하는데 있어서 삭제기능은 삭제 버튼을 눌렀을 때 단순히 삭제 api가 호출 되면 되므로 구현하는데 어려움은 없지만 수정 기능을 구현하는데 있어서는 수정 버튼을 눌렀을 때 수정하기 전 기존 댓글 텍스트가 나와야하고 기존 텍스트에서 추가적으로 글을 쓰거나 삭제하거나 해야해서

수정 버튼을 눌렀을 때에도 기존 텍스트를 유지하는게 어려웠다.

 

이를 구현하기 위해 어떻게 하면 좋을까 고민을 하다가 내 프로젝트는 리덕스 스토어에서 댓글 state를 가져오는데 그것을 usestate로 textarea onChange 이벤트에 사용 될 state를 새롭게 만들어서 

state의 기본값에 넣어주고 댓글 수정창의 textarea의 기본 value로 넣어서 onChange 이벤트시에 기존 댓글 텍스트가 수정되도록 구현하였다.

// 댓글 수정을 위해 기존 댓글의 텍스트를 초기값으로 넣어줌
const [commetText, setCommentText] = useState(text);
const onChange = (event) => {
const value = event.target.value;
setCommentText(value);
};
<Content
value={commetText}
ref={textRef}
onInput={autoSize}
onChange={onChange}
required
onClick={autoSize}
/>

.

'Today I learned(TIL)' 카테고리의 다른 글

22.04.13- TIL  (0) 2022.04.13
22.03.31- TIL  (0) 2022.03.31
22.03.29 -- TIL  (0) 2022.03.29
22.03.07- TIL  (0) 2022.03.07
22.03.06- TIL  (0) 2022.03.06

+ Recent posts