-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[안소연] week12 #350
The head ref may contain hidden characters: "part3-\uC548\uC18C\uC5F0-week12"
[안소연] week12 #350
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다!
총체적으로 미완성 상태이지만 빨리 리뷰를 받고 수정하는게 나을 것 같아서,, 제출합니다
- 좋은 전략이에요 👍
useEffect 대신에 getStaticProps나 getServerSideProps 등을 활용해보는 것 까지 해보려 했으나 기존에 context 를 활용해서 짠 코드가 대부분이어서 어떻게 바꿀지 고민이 되더라구요,, 관련해서 조언 부탁드립니다
- context를 활용한 코드를 대체하면 됩니다...!? 각 훅이 필요한 이유를 이해하고, 적절한 사용 예시라고 생각하시면 바로 그렇게 시도해보시면됩니다. 아래 코멘트로 예시를 드렸습니다
실무에서 typescript를 어떻게까지 사용하는지가 궁금해졌는데 혹시 추천해주실만한 오픈소스나 용례 위주의 컨텐츠가 있을까요?
- 대부분은 추론할 수 있는 경우라서 작성하지 않지만, 빈번하게는 컴포넌트/함수/훅에 파라미터타입에 가장 많이 사용합니다. 별도로 간단한 수준의 오픈소스는 떠오르지않는데, 멘토링때 소개드려볼게요
//프로젝트에서 사용되는 환경을 정의합니다. 여기서는 브라우저, ECMAScript 2020, 그리고 Node.js 환경에서 코드를 실행하는 것으로 설정 | ||
"browser": true, | ||
"es2020": true, | ||
"node": true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아하 node에서도 실행가능한가보군요? 사실 Nextjs에서는 컴포넌트 별로, 또는 특정 위치의 함수의 경우에 server/ client 한 곳에서만 동작하게 의도되기도해서, 이렇게 eslint설정으로 드러낼 필요는 없어 보여요. 혹시 특정 코드에서, 특정 런타임 환경이 제공하는 host 객체를 사용해서 이 처리가 필요했던 걸까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이전 프로젝트 때 사용했던 세팅 코드를 가져온 건데 미처 뜻을 알지 못하고 사용한 부분들이 있습니다.. 😅 이참에 공부해봐야겠네욥
@@ -1,5 +1,5 @@ | |||
{ | |||
"name": "fe-weekly-mission", | |||
"name": "part3-weekly-mission-next-with-ts", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
package.json의 이름은 이 프로젝트 하나를 하나의 패키지로 보고 지칭하는 표현입니다. 패키지를 배포해보시는 경혐을 하거나, npm workspace 기능을 사용하신다면 더 잘 느끼실 수 있을 거 에요.
사실 이 레포 또는 넥스트앱을 누가 참조하진 않아서 상관없지만 지금 바꾸신 이름도 좋네요.
src/pages/api/fetchApi.ts
Outdated
const result = await fetch(API.SAMPLE_FOLDER); | ||
const { folder } = await result.json(); | ||
const { links } = folder; | ||
folder.links = convertToSnakeCase(links); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋습니다 다만, js/ts에서 일반적으로 캐멀케이스가 글로벌한 컨벤션이니만큼 camelCase로 통일하는게 좋아보입니다
const contextValue: SearchContextValue = { | ||
searchValue, | ||
setSearchValue, | ||
selectedFolder, | ||
setSelectedFolder, | ||
folderList, | ||
setFolderList, | ||
linkList, | ||
setLinkList, | ||
}; | ||
|
||
return <SearchContext.Provider value={contextValue}>{children}</SearchContext.Provider>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
하나의 맥락(Context)에 담는 것은 성능에도, 일반적으로 의도전달에도 안좋아서, 고민해보시면 도움이 될거같습니다
멘토님 정성스러운 리뷰 감사합니다! 남겨주신 리뷰사항 참고해서 이번주차 pr 올리도록 할게요 💪 |
주요 변경사항
멘토에게