프로젝트

[프로젝트] 미니 프로젝트 액션 플랜 에러발생과 해결

자바칩 프라푸치노 2021. 7. 16. 10:02

기능이 정상으로 작동을 하긴하는데 새로고침해야만 반영이 되는 문제가 있었음

 

 

 

=> 게시글을 작성하고 나서 게시물의 id를 가진 url의 상세페이지로 넘어간다.

하지만 작성하고 나서 바로 상세페이지로 넘어가니 게시물 id가 0이라고 뜨는 문제가 발생했다.

백에서 id를 자동 생성으로 만들어주기 때문에 게시글을 작성했을 당시에는 id가 없었다.

 

 

 

1. 해결방안. 게시글을 작성하기 전에 새로고침하기?

window.location.replace("/")

이렇게 하면 실질적으로 작동은 하지만 매번 서버에서 모든 게시물을 새로 받아와야하기 때문에 효율적이지 않다.

 

 

2. 게시글을 불러오는 곳에서 useEffect 사용하기?

useEffect로 게시글을 불러오면 새로고침하지않아도 작동을 한다.

그렇지만 1번과 마찬가지로 게시글리스트에 변화가 있을때마다 매번 모든 게시물을 새로 받아와야한다는 문제가 있다.

 

 

3. 서버에서 게시물 id를 받아와 저장하기

처음에는 저장에 성공했을 시 data로 아무것도 넘겨주지 않았다.

저장했을시 서버에서 게시물 id를 data로 보내주면 저장할 시 같이 저장을 하면 된다.

게시글을 만들때 서버에서 자동으로 만들어주는 값들을 받아오면 화면에 바로 띄울 수 있다.

댓글 작성시에도 마찬가지이다.

 

 

 


=> 게시글 작성시 비밀번호를 넣고 삭제와 수정시 해당 비밀번호와 맞는지 확인한다.

비밀번호를 보내면 맞아도 틀렸다고 하고 무조건 틀렸다고 하는 문제에 봉착.

서버에서는 api툴로 잘 작동을 했다.

 

=> 처음에는 password로 보냈는데

데이터를 보낼때 객체 형태로 보내야한다.

해결

 

 

 

 

=> 게시글 작성시 비밀번호를 넣고 삭제와 수정시 해당 비밀번호와 맞는지 확인한다.

삭제, 수정 시 비밀번호를 서버로 보낸다.

요청을 보낼 시, then으로 들어오긴 하는데 다시 catch로 빠지면서 오류가 난다.

그리고 실제로 삭제, 수정이 되긴 되는 문제에 봉착!

 

 

findIndex를 할때 p의 planId부분을 id로 써서 index를 찾을 수 없어서 난 오류였다.

해당 배열에 있는 변수명을 잘 확인하자.

휴먼에러였다.

해결!

 

 


=> 댓글 추가 수정 삭제시에도 정상적으로 작동하는데 화면에 바로 반영이 되지 않는 문제에 봉착

 

 

상세 조회 api 설계를 보니 전체를 다 조회하고 그 중에 있는 replyList에서

댓글들을 뽑아써야하는 구조로 되어있었다.

그러므로 댓글 모듈에서 불러오는 데이터는 전체 데이터이므로 그 중에서 replyList에 삭제, 추가를 해주면 되었다.

해결!

 

 

 


=> localhost에서는 문제가 없었지만 배포를 하고 나니

상세페이지에서 새로고침 했을 시, 404에러가 뜨는 것을 확인

 


AWS S3버킷에서 정적웹사이트 호스팅의 오류 문서를 index.html로 주어 해결

728x90