보드가 없는 url 접근시 어떻게 하는게 좋나요?
443
1 câu hỏi đã được viết
이번 강의로 보드를 삭제한 다음
$router.push('/')
를 통해 홈으로 보내는데요.
하지만 브라우저에서 뒤로가기를 통해 이미 삭제된 보드 url로 접근할 수 있었습니다.
(직접 입력해서도 가능할거구요..)
위와 같은 경우 다시 홈으로 튕겨냈으면 하는데.. 이런 처리는 어떠한 방법으로 하는게 권장되나요?
제 생각에는
@ 단순하게 Board컴포넌트에서 FETCH_BOARD액션을 실행할 때 catch구문으로 홈으로 보낸다.
@ 애초에 없는 페이지 접근이니 404처리를 위해 api/index.js에서 request 모듈의 catch구문에 404처리를 추가한다. (그런데 api단에서는 비동기로 데이터를 불러오는 인터페이스역할을 한다고 생각할 수 있는데 이 단계에서 데이터를 얻지 못 했다고 404처리를 추가하는게 맞을까 싶기도 합니다...)
정도 일까 싶은데요..
네비게이션가드를 사용해볼까 했는데 그러기엔 일단 API서버에서 데이터페치가 일어나봐야 존재유무를 알 수 있으니 이 방법은 어려울거 같은데요..
vue의 관점에서 볼 때 위와 같은 경우 어떤 방법이 권장되는 방법일까요? 궁금합니다..
Câu trả lời 4
0
생각 못하고 지나갈뻔 했는데 예리하십니다!
말씀하신대로 api 에 404 추가해주었고 뒤로가기하면 /로 돌아오긴 하는데요,
콘솔에 404에러랑
actions.js?9946:21 Uncaught (in promise) TypeError: Cannot read property 'item' of undefined
at eval
이런 에러가 뜨는데 어떻게 처리해야할까요,,?
0
좋은 지적입니다.
보드 페이지에 대한 예외처리 문제인데요,
위에서 언급해 주신 두 가지 방법으로 해결할 수 있겠네요.
두 번째 방법을 더 설명 드리면..
인증을 구현할때 API응답중 401만 onUnauthorized() 함수로 처리했었죠?
마찬가지로 404응답일 경우 onNotFound() 함수로 처리할 수 있습니다.
const NOTFOUND = 404const onNotfound = () => router.push(`/`)
// ...
if (status === UNAUTHORIZED) onUnauthorized()
else if (status === NOTFOUND) onNotfound()
단 이렇게 하려면 서버와 응답 코드에 대한 약속을 한다는 가정이 있어야겠죠.
객체가 함께 반환되는데 왜 그럴까요
1
135
2
babel-core module 에러
0
227
2
watch와 computed
1
247
1
nextTick 관련 질문
0
705
1
a 태그에 href를 빈 값으로 계속 주는 이유
0
768
1
함수에서 _를 사용하셨는데 어떨때 쓰이는 건가요?
0
348
1
watch로 router 감시할 때
0
407
1
보드 아이템 배경색 변경 관련 질문
0
288
1
NavigationDuplicated 에러
0
673
1
vue-router 설치 중 계속해서 오류가 발생합니다.
2
1414
2
로컬 스토리지 관련 질문입니다!
0
469
1
<router-link> 질문
0
310
1
(재질문/Vuex 적용 - 인증 1) 강의에서 8분 18초 부분 질문 있습니다.
0
285
1
router-link 와 router-view 의 차이를 모르겠습니다!
1
1090
1
왜 index.js를 바로 볼 수 있나요?
0
366
2
리스트 내 카드 이동 오류
1
542
0
보드를 추가했을 때 추가한 보드에 대한 화면 업데이트(?) 갱신(?)에 관한 질문입니다.
0
292
1
(Vuex 적용 - 인증 1) 강의에서 8분 18초 부분 질문 있습니다.
0
444
1
npm install 시 에러
0
992
2
안녕하세요 리스트 이동 관련 질문이 있습니다.
0
321
2
질문이 있습니다.
0
299
1
마지막 부분에 로그아웃 해서 로그인 화면으로 돌아왔을 때
0
268
1
소스 공유 받을수 있을까요?
0
329
1
setAuthInHeader 했는데 오류가 발생합니다.
0
250
1

