댓글에 대한 답글이 필요하다고 생각했다.
답글 컴보넌트의 부모 컴포넌트에서 해당 로직이 실행된다. 그 이유는 답글은 여러개가 select 될 수 있기 때문이다. 답글 같은 경우 따로 페이지 설정은 하지 않았다.
select된 데이터들은 rerelyData state변수에 저장이 되는데 map함수를 통해 답글(BBSReReplyData)컴포넌트가 렌더링 된다.
댓글과는 다르게 수정, 삭제 후 (수정, 삭제)된 컴포넌트만 렌더링하는 것이 아니라 답글 전체를 렌더링하는 것으로 바꿨다.
이 방법을 채택한 이유는 댓글같은 경우 본인이 작성한 데이터만 존재하기 때문에 수정, 삭제된 컴포넌트만 재렌더링 되게 바꿨다. 하지만 답글 같은 경우 내가 쓴 답글말고도 다른 답글에서 (수정, 삭제)가 될 수도 있다고 생각하여 모든 데이터를 재렌더링 했다.
어떤 것이 정답인지는 모르겠으나 내가 생각한 대로 구현하는 것이 목표이기 때문에 모든 데이터를 재렌더링 하는 것으로 하였다.
답글 컴포넌트의 상위 컴포넌트에서 deleteflg를 관리한다. deleteflg는 답글 컴포넌트에서 수정, 삭제가 일어났을 때 변경 여부를 관리하는 변수이다.
위 코드는 답글 컴포넌트에서 실행되는 함수이다. 답글이 수정이되면 해당 컴포넌트 state변수가 바뀌는 것이 아니라 부모 컴포넌트(deleteflg)가 변경이 되는 것이기 때문에 전체가 렌더링 된다.
마찬가지로 삭제도 삭제가 완료되면 부모 컴포넌트 state변수인 deleteflg를 변경하여 답글 전체를 렌더링하도록 하였다.