SSAFY
[PJT] 이슈 기록 및 해결
suwonieee
2023. 5. 22. 11:02
SSAFY 관통 프로젝트로 영화 추천 App을 만드는 중이다.
메인 페이지(MovieView)에서 로그인을 하려고 했는데, 로그인 후 MovieView로 이동해야 해서 NavigationDuplicated: Avoided redundant navigation to current location: 오류를 띄웠다. 같은 페이지로 router.push를 사용할 때 나오는 오류이다.
함수를 두 개 만들어서 각각 경로를 지정해주거나, 한 로직을 사용할 때는 변수를 하나 더 받아와서 불필요한 로직을 줄이고 최적화할 수 있을 거 같은데… 우선은 구현 가능하도록 만들었다. 여유가 남는다면 수정해야지… 아래 코드는 차이점이라도 있지 login actions들은 차이점도 없다. 너무 비효율적인 상황(05/21)이다.
SAVE_TOKEN(state, {token , username}){ //local에 저장하기
state.token = token
state.username = username
router.push({name : 'MovieView'})
},
SAVE_TOKEN_FROM_MV(state, {token, username}){
state.token = token
state.username = username
SAVE_TOKEN도 두 개...
LogIn(context, payload){
const username = payload.username
const password = payload.password
axios({
method : 'post',
url : `${API_URL}/accounts/login/`,
data : {
username, password
}
})
.then((res)=>{
context.commit('SAVE_TOKEN', { token: res.data.key, username })
})
.catch((err)=>{
console.log(err)
})
},
LogIn_fromMV(context, payload){
const username = payload.username
const password = payload.password
axios({
method : 'post',
url : `${API_URL}/accounts/login/`,
data : {
username, password
}
})
.then((res)=>{
context.commit('SAVE_TOKEN_FROM_MV', { token: res.data.key, username })
})
.catch((err)=>{
console.log(err)
})
},
로그인 로직도 두 개... 최적화가 하고 싶다