[현장실습_그 후] React + Node.js 프로젝트 - 5월 2주차

·2022년 5월 11일
0

현장실습

목록 보기
12/12
post-thumbnail
post-custom-banner

목표

게시판 마무리

  • 글 수정
  • 글 삭제
  • 파일 다운로드 에러 수정

상세

글 수정

  • 글 수정 버튼 클릭 시 글 수정 페이지로 이동
  • 서버에서 카테고리, 제목, 내용 받아오기
  • UI : 글 쓰기 창이랑 동일

글 삭제

  • 삭제 버튼 클릭 시 게시글 데이터 삭제
    • 일반 회원일 경우 내가 쓴 글만 삭제 가능
    • 매니저, 관리자일 경우 모든 글 삭제 가능
  • confirm창에서 확인 시 삭제
  • 권한이 없을 시 알림창 띄우기

파일 다운로드 에러 수정

  • blob으로 url 생성 해보기(시도)

  • 권한이 없을 시 알림창 띄우기
    • 일반 회원일 경우 내가 쓴 글만 삭제 가능
    • 매니저, 관리자일 경우 모든 글 삭제 가능
  • confirm창에서 확인 시 삭제
  • 글 수정 페이지 생성
  • 서버에서 게시글 정보 받아오기
    • 카테고리, 제목, 글 내용

  • 서버에서 받아온 정보 수정 페이지에 UI에 넣기
  • 권한이 없을 시 알림창 띄우기
    • 일반 회원일 경우 내가 쓴 글만 수정 가능
    • 매니저, 관리자일 경우 모든 글 수정 가능
  • 등록 버튼 클릭 시 수정된 내용 서버에 저장

파일 다운로드 에러 수정

원인은 알아냈는데 지금은 수정이 불가능할 것 같아서 문제만 파악하기로 했다.

📌 overview

  • a 태그에 download 속성을 넣어서 구현
  • a 태그를 클릭 시 파일이 실패 -파일 없음 에러 발생

📌 원인

  • a 태그 클릭 시 서버에 요청해 파일을 가져와서 다운로드 할 수 있게 해야함
  • 서버에 요청하는 로직이 없는 상태이기 때문에 파일을 가져오지 못해서 에러가 발생

📌 해결 방법

  • a 태그를 생성할 때 onclick으로 클릭 시 서버에 요청하는 이벤트를 연결

🤦‍♀️ 그럼에도 에러를 해결하지 못한 이유!
summernote 에디터에 파일을 첨부한 후 에디터 상에 있는 파일을 클릭 했을 때는 정상적으로 이벤트가 동작해 다운로드가 됨

하지만 글을 등록하게 되면 DB에 HTML 코드를 저장하고, 그 저장한 내용을 게시글 페이지에 넣기 때문에 등록한 이벤트가 사라짐

ejs - node.js로 구현했던 게시판에서 사용한 summernote와 같은 라이브러리를 react - node.js로 구현할 때 그대로 사용해서 불편한 부분이 많았는데, 이런 문제로 생긴 에러 종류인 것 같다. 수정하기 위해서는 전체를 수정해야하기 때문에 지금은 문제만 파악하기로 했다.

전체적인 구조의 문제인 것 같은데 이를 리팩토링 하기에는 아직 리액트를 다루는 것에 있어서 익숙하지 않은 것 같다는 생각이 들었다. 그래서 프로젝트 중심 강의를 들으면서 리액트를 다루는 것에 익숙해지고 난 후에 다시 한 번 살펴보려고 한다.

profile
익숙함을 향해👟
post-custom-banner

0개의 댓글