inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

WebPack vs Vite, 프런트엔드 생태계 양대 산맥

기본 파일 구조

3

bluescreen

작성한 질문수 33

0

안녕하세요
일반적으로 project를 생성하면
App.tsx 파일이 존재 하는데요
App.tsx 파일이 존재하지 않는 경우는 어떤 경우일까요?
안에 있는 내용을 다른 파일로 옮기는 건가요?
꼭 App.tsx 파일이 필요없는 것 같은데요
개발자가 만들기 나름인가요?

react react-router redux-toolkit zustand react.js

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. bluescreen님.

리액트 프로젝트에서 App.tsx 파일은 보통 기본적인 관습으로 생성되는 메인 컴포넌트 파일입니다. 대부분의 create-react-app 같은 도구로 프로젝트를 시작하면 자동으로 생성되는 이 파일은 전체 애플리케이션의 진입점이나 주요 뷰 역할을 하게 됩니다. 그러나 꼭 이 파일이 존재해야 하는 것은 아닙니다.

App.tsx 파일이 존재하지 않는 경우

  1. 구조의 재구성: 개발자가 프로젝트 구조를 정하면서 App.tsx 대신 다른 구조를 선택할 수 있습니다. 이 경우 index.tsx 파일에서 애플리케이션의 다른 컴포넌트를 루트 컴포넌트로 설정할 수 있습니다.

  2. 커스터마이징된 프로젝트 생성 도구 사용: create-react-app과 달리, 커스터마이즈된 스크립트를 사용하여 프로젝트를 생성할 경우 App.tsx 파일 대신 다른 파일 구조를 가질 수 있습니다.

  3. 기능적인 분리를 통한 파일 구조 변경: 애플리케이션의 규모가 크거나 구조적으로 복잡한 경우, App.tsx에 모든 책임을 두는 대신 기능별로 별도의 파일로 나누어 관리할 수도 있습니다.

추가적으로 참고할 자료

리액트 프로젝트에서의 폴더 및 파일 구조에 대한 이해를 돕기 위해 다음과 같은 자료도 참조할 수 있습니다:
- 리액트 프로젝트의 최적의 폴더 구조는?
- 컴포넌트 구성 방법과 디자인 패턴

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

공부방향에 대한 조언

0

49

2

styled-components

0

39

2

상태(State) 가 "시간이 지남~" 에 대해 질문 있습니다.

0

55

2

import {} 중괄호 차이점

0

54

2

[ 문의]몽고DB connect 의 건

0

68

2

제공되는 react_code.zip 중에 ..

0

67

2

커리큘럼 비활성화

0

54

2

설명하시는 개념들을 잘 모르겠습니다.

0

57

2

이해가 절반 정도 되는데요.

0

67

1

styled-components(전역)

0

66

1

cloudinary 관련

0

82

3

useOptimistic 실전-1 useState

0

91

2

discord 초대장 갱신이 필요한거같습니다.

0

87

1

할일 관리 앱(메모이제이션)

0

110

2

Web 플랫폼 등록

0

167

2

함수 정의 기준

0

92

2

fetch는 사용되는가

0

95

2

전역상태 관리 선택 기준

0

130

2

tailwind css는 언제 사용되는가 또 다른 css와의 차이

0

255

2

카카오 web플랫폼 등록

0

212

2

컴포넌트 그리고 폴더 구조에 대해

0

87

2

152강 보는중입니다. 초시계부분이구요. 넘버가 timeout을 받을수없다는 에러가 나오고 있어요

0

62

1

폼테그 다른 태그를 하나의 상태 객체로 묶기

0

67

2

class를 className으로 전부 수정하실 때

0

56

2