안녕하세요, 강의 잘 듣고 있습니다! 강의를 듣다보니 하나 의문점이 들어 질문드립니다. app 폴더 하위에서 "page.tsx"로 만들면 nextjs에서 자동으로 라우팅하여 경로로 인식한다고 설명해주셨는데요. 강의를 듣다보니 언더바를 붙인 폴더 경로는 라우팅에 포함되지 않는다고 이야기를 하시더라구요. 파일명을 page로 만들지 않으면 라우팅에 포함되지 않는데, 언더바 폴더를 사용하는 이유가 있는지 궁금합니다. 공식 문서에서는 명시적인 구분/이름 충돌 방지등 이점 설명이 있지만, 크게 와닿지 않아서 질문드려요!
부모 컴포넌트 <templete> <router-view/> </templete> 하위 컴포넌트 <templete> <sub-content :props="props"/> <router-view :props="props"/> </templete> 하위 컴포넌트에서 <sub-content/> 컴포넌트를 제외한 부분은 라우팅에 따라 다르게 보여져야 할 것 같아서, 부모에도 <router-view/> 태그를 사용했고 하위 컴포넌트에도 <router-view/> 태그를 사용했는데요, 이렇게 구조를 짜니까 sub-content에는 props가 넘어가는데 하위 컴포넌트의 <router-view/>로 보내는props가 증발해버리더군요. 이럴 경우에는 아무리 <sub-content/>가 하위 페이지마다 반복해서 들어간다 할지라도 하위에서 <router-view>를 쓰지 않고, 하위 컴포넌트에 일일이 <sub-content/>가 들어있는 컴포넌트를 따로 만들어야 되는건지... 궁금합니다. 아무래도 부모에 정의된 router-view 와 하위에 정의된 router-view를 구분하지 못하고 props가 무시되는 거 아닐까 싶은데... 맞나요?
route에서 .then(() => next()) 이렇게 적게 되면 화면이 이동할 때 깜박이는 현상이 있습니다. git 코드를 받아보니 .then(next()) 라고 변경되어 있는걸 확인했습니다. 실제 강의에서는 then( () => next() ) 이렇게 진행을 하셨는데, 이렇게 할 경우 list 라는 변수를 공유하고 있기 때문에 데이터를 갱신 한 뒤에, next가 호출이 되서 이전 화면에서 데이터가 바뀐 데이터로 변경된 뒤에 transition 효과로 사라지기 때문에, 같은 데이터가 사라지고 (새로운 화면으로 이동하고) 다시 생겨서 마치 깜박이는 것처럼 보이게 되는데 그래서 .then(next())로 변경하신 걸까요 ? 이 경우는 프로미스 실행 전에 수행이 되니까 실제로는 store에서 dispath 하기 전에 next를 불러준 것과 같은 효과 맞을까요 ? 답변 부탁드립니다. 미리 감사 드립니다