[Todo-List] 1. 프로젝트 구성
지금까지 리액트를 공부하면서
기본기
부터스타일링
까지 살펴보았는데, 계속 이론만 공부하는 것 보다 간단한 토이 프로젝트를 해보고 싶었다.
왜냐하면, 계속 일반적인 실습 보다는 실제로 하나라도 구현 하면서 놓쳤던 기본기를 잡아보고 싶었기 때문에.❗❗
- 그래서 리액트를 공부할 때 많이 구현하는 Todo-List를 시작으로 많은
토이 프로젝트
를 해보고 싶다.😊😊
1. 프로젝트 구성🌟
- 저번에 포스팅한 것 처럼 모든 코드들은 내 github에 올릴 예정이다.
- 프로젝트는 create-react-app을 사용하여 프로젝트를 생성했고,
Sass
를 사용하기 위해서 node-sass를 설치했다.
- 또한,
조건부 스타일링
을 위해 classnames을 설치했고, 기본적인 icons
는 다운받아도 되지만 리액트에서 제공하는 react-icons를 사용했다.
* react-icons의 사용법은 여기를 클릭하면 확인할 수 있다.
// 설치 명령어
$ yarn create react-app todo-list
$ cd todo-list
$ yarn add node-sass classnames react-icons
Tip ✍
- 프로젝트에서 node-sass 연결시 버전이 안맞는 경우가 있는데, 에러 메세지를 확인하고 다음과 같은 명령어로 재설치를 통해 해결했다.
// 👉 node-sass 삭제
$ yarn remove node-sass
// 👉 node-sass 5.0.0 버전 설치
$ yarn add [email protected]
- react-icons 라이브러리는 아이콘이
SVG
형태로 이루어져 있어 아이콘의 크기
, 색상
은 props
또는 CSS 스타일
로 변경할 수 있다.
1.1 간단한 기본 설정 ✔
- 코드 스타일을 깔끔하게 정리하기 위해 Prettier를 설정했으며,
root
디렉터리에 .prettierrc
파일을 생성하여 다음과 같이 설정했다.
//.prettierrc
{
"singleQuote": true, // single 쿼테이션 사용 여부
"semi": true, // 세미콜론 사용 여부
"useTabs": false, // 탭 사용 여부
"tabWidth": 2, // 탭 너비
"trailingComma": "all", // 여러 줄을 사용할 때, 후행 콤마 사용 방식
"printWidth": 80 // 줄 바꿈 할 폭 길이
}
- 더 다양한 설정이 있으니 Prettier를 참고하여 원하는 설정을 하면된다.
- 추가적으로 프로젝트의
글로벌 스타일 파일
이 들어 있는 index.css
를 다음과 같이 설정했다.
//index.css
body {
margin: 0;
padding: 0;
background: #e9ecef;
}
2. UI 구성하기 ✍
- Todo-List에 필요한 각
컴포넌트
에 대해 다음과 같이 설정했다.
-
TodoTemplate: 일정 관리를 보여주는 컴포넌트로, 화면을 가운데 정렬 하는 기능을하며, chileren
으로 내부 JSX
를 props
로 받아 와서 렌더링 한다.
-
TodoInsert: 새로운 항목을 입력하고 추가할 수 있는 컴포넌트로, state
를 통해 인풋
의 상태를 관리한다.
-
TodoListItem: 각 일정에 대한 정보를 보여주는 컴포넌트로, todo
객체를 props
로 받아와서 상태
에 따라 다른 스타일의 UI를 보여준다.
-
TodoList: todos
배열을 props
로 받아와 이를 배열 내장 함수 map
을 이용해서 여러 개의 TodoListItem
컴포넌트로 변환하여 보여준다.
- 이렇게 총 네 개의
컴포넌트
로 구성된 Todo-List를 만들어 보자.
* 각 컴포넌트는 src
디렉터리에 components
라는 디렉터리를 생성하여 저장했다.
👉 그 이유는 기능이나, 구조상 필요한게 아닌 암묵적인 약속? 이라고 생각하자.
end
Author And Source
이 문제에 관하여([Todo-List] 1. 프로젝트 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@daekyeong/Todo-List-1.-프로젝트-구성
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Sass
를 사용하기 위해서 node-sass를 설치했다.조건부 스타일링
을 위해 classnames을 설치했고, 기본적인 icons
는 다운받아도 되지만 리액트에서 제공하는 react-icons를 사용했다.* react-icons의 사용법은 여기를 클릭하면 확인할 수 있다.
// 설치 명령어
$ yarn create react-app todo-list
$ cd todo-list
$ yarn add node-sass classnames react-icons
Tip ✍
- 프로젝트에서 node-sass 연결시 버전이 안맞는 경우가 있는데, 에러 메세지를 확인하고 다음과 같은 명령어로 재설치를 통해 해결했다.
// 👉 node-sass 삭제
$ yarn remove node-sass
// 👉 node-sass 5.0.0 버전 설치
$ yarn add [email protected]
- react-icons 라이브러리는 아이콘이
SVG
형태로 이루어져 있어 아이콘의크기
,색상
은props
또는CSS 스타일
로 변경할 수 있다.
root
디렉터리에 .prettierrc
파일을 생성하여 다음과 같이 설정했다.//.prettierrc
{
"singleQuote": true, // single 쿼테이션 사용 여부
"semi": true, // 세미콜론 사용 여부
"useTabs": false, // 탭 사용 여부
"tabWidth": 2, // 탭 너비
"trailingComma": "all", // 여러 줄을 사용할 때, 후행 콤마 사용 방식
"printWidth": 80 // 줄 바꿈 할 폭 길이
}
글로벌 스타일 파일
이 들어 있는 index.css
를 다음과 같이 설정했다.//index.css
body {
margin: 0;
padding: 0;
background: #e9ecef;
}
- Todo-List에 필요한 각
컴포넌트
에 대해 다음과 같이 설정했다.
-
TodoTemplate: 일정 관리를 보여주는 컴포넌트로, 화면을 가운데 정렬 하는 기능을하며,
chileren
으로 내부JSX
를props
로 받아 와서 렌더링 한다. -
TodoInsert: 새로운 항목을 입력하고 추가할 수 있는 컴포넌트로,
state
를 통해인풋
의 상태를 관리한다. -
TodoListItem: 각 일정에 대한 정보를 보여주는 컴포넌트로,
todo
객체를props
로 받아와서상태
에 따라 다른 스타일의 UI를 보여준다. -
TodoList:
todos
배열을props
로 받아와 이를 배열 내장 함수map
을 이용해서 여러 개의TodoListItem
컴포넌트로 변환하여 보여준다.
- 이렇게 총 네 개의
컴포넌트
로 구성된 Todo-List를 만들어 보자.
* 각 컴포넌트는src
디렉터리에components
라는 디렉터리를 생성하여 저장했다.
👉 그 이유는 기능이나, 구조상 필요한게 아닌 암묵적인 약속? 이라고 생각하자.
end
Author And Source
이 문제에 관하여([Todo-List] 1. 프로젝트 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@daekyeong/Todo-List-1.-프로젝트-구성저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)