Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

전체적으로 색감도 예쁘고 완료된 할 일과 그렇지 않은 할일을 분리하는 방식이 인상적입니다. 다만 리스트의 위치가 고정되어 있지 않아서 여러 할 일들을 지울 때 커서를 계속 움직여야 한다는 점이 좀 불편합니다. 위치를 고정하고 할 일이 추가 되면 스크롤을내리는 방식은 어떨까 싶습니다.

Binary file not shown.
5 changes: 5 additions & 0 deletions .prettierrc.js
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

지금 prettier 세팅이 겹치는 거 같아요 (react-todo/.prettierrc)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다양한 prettier 속성이 있습니다. tab width 조절해주는 속성도 있고, semicolon 붙일지 말지 결정해주는 속성도 있고요. prettier가 결국 협업 시 충돌 방지를 위해 사용되는 라이브러리인 만큼 다양한 속성을 사용해보시면 좋을 거 같아요

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
singleQuote: true,
trailingComma: 'all',
printWidth: 100,
};
24 changes: 24 additions & 0 deletions react-todo/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
6 changes: 6 additions & 0 deletions react-todo/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"singleQuote": true,
"semi": true,
"trailingComma": "all",
"printWidth": 100
}
12 changes: 12 additions & 0 deletions react-todo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# React + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
29 changes: 29 additions & 0 deletions react-todo/eslint.config.js
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

eslint 사용하신 건 코드 스타일 통일을 위한 좋은 선택인 것 같아요

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다만 각 plugin이 어떤 역할을 하는지, 각 config property가 어떤 의미를 지니는지 등에 대해서 단순히 복사-붙여넣기를 넘어서, 명확히 이해한 뒤에 사용하시는 것을 추천드립니다

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import { defineConfig, globalIgnores } from 'eslint/config'

export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{js,jsx}'],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

현재 코드로는 js/jsx 확장자만 감지가 됩니다. typescript를 사용하시는 만큼 ts, tsx도 추가해 주세요

extends: [
js.configs.recommended,
reactHooks.configs['recommended-latest'],
reactRefresh.configs.vite,
],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
parserOptions: {
ecmaVersion: 'latest',
ecmaFeatures: { jsx: true },
sourceType: 'module',
},
},
rules: {
'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }],
},
},
])
14 changes: 14 additions & 0 deletions react-todo/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!doctype html>
<html lang="en">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

상황에 맞게 메인 언어 변경하시는 걸 추천드려요. 검색 엔진 최적화 등 더욱 완성도 높은 결과물을 만들 수 있습니다

<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>React Todo</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/pretendard/dist/web/static/pretendard.css" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

package json 파일을 보면 pretendard 폰트를 패키지 형태로 다운받아서 사용하시는 거 같은데, 해당 부분은 중복되는 것 같습니다

</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>
Loading