새로운 언어나 프레임워크를 선택하는 것이 어떤 것인지 알고 있습니다. 때때로 당신이 그것을 통해 방법을 찾는 데 도움이 되는 훌륭한 문서가 있습니다. 그러나 최고의 문서라 할지라도 절대적으로 모든 것을 다루지는 않습니다. 그리고 당신이 새로운 것을 가지고 일할 때, 서면 해결책이 없는 문제를 발견하게 될 것입니다.
React 프로젝트를 처음 만들었을 때 저에게는 그랬습니다. React는 특히 현재 베타 문서와 함께 놀라운 문서가 포함된 프레임워크 중 하나입니다. 그러나 나는 여전히 내 길을 고군분투했습니다. 그 프로젝트 이후 꽤 시간이 흘렀지만 그로부터 얻은 교훈은 여전히 내 마음에 생생합니다. 그리고 React "방법" 튜토리얼이 많이 있지만 처음 사용했을 때 알고 싶었던 것을 공유하고 싶다고 생각했습니다.
이것이 바로 제가 저지른 초기 실수 목록입니다. React 학습이 훨씬 더 순조롭게 진행되는 데 도움이 되었으면 합니다.
create-react-app을 사용하여 프로젝트 시작
TL;DR Vite 또는 Parcel을 사용하십시오.
반응 앱 만들기 (CRA)는 새로운 React 프로젝트를 설정하는 데 도움이 되는 도구입니다. 대부분의 React 프로젝트에 가장 적합한 구성 옵션으로 개발 환경을 만듭니다. 즉, 직접 구성하는 데 시간을 소비할 필요가 없습니다.
초보자로서 이것은 내 작업을 시작하는 좋은 방법인 것 같았습니다! 구성 없음! 코딩을 시작하세요!
CRA는 이를 달성하기 위해 두 가지 인기 있는 패키지인 webpack과 Babel을 사용합니다. webpack은 JavaScript, CSS 및 이미지와 같은 프로젝트의 모든 자산을 최적화하는 웹 번들러입니다. Babel은 일부 브라우저가 지원하지 않는 경우에도 최신 JavaScript 기능을 사용할 수 있게 해주는 도구입니다.
둘 다 좋지만 작업을 더 잘 수행할 수 있는 최신 도구가 있습니다. 물다 및 빠른 웹 컴파일러 (SWC).
이러한 새롭고 개선된 대안은 webpack 및 Babel보다 구성이 빠르고 쉽습니다. 이렇게 하면 꺼내지 않고 create-react-app에서 수행하기 어려운 구성을 쉽게 조정할 수 있습니다.
새로운 React 프로젝트를 설정할 때 둘 다 사용하려면 다음이 있는지 확인해야 합니다. 노드 버전 12 이상이 설치된 후 다음 명령을 실행하십시오.
npm create vite
프로젝트 이름을 선택하라는 메시지가 표시됩니다. 그런 다음 프레임워크 목록에서 React를 선택합니다. 그 후에 다음 중 하나를 선택할 수 있습니다. Javascript + SWC
or Typescript + SWC
그런 다음 디렉토리를 변경해야합니다 cd
프로젝트에 입력하고 다음 명령을 실행합니다.
npm i && npm run dev
URL이 있는 사이트의 개발 서버를 실행해야 합니다. localhost:5173
그리고 그것은 그렇게 간단합니다.
defaultProps
기본값
사용 TL;DR 대신 기본 함수 매개변수를 사용하세요.
데이터는 다음을 통해 React 구성 요소로 전달될 수 있습니다. props
. 이들은 HTML 요소의 속성과 마찬가지로 구성 요소에 추가되며 인수로 전달된 prop 개체에서 관련 값을 가져와 구성 요소 정의에 사용할 수 있습니다.
// App.jsx
export default function App() { return <Card title="Hello" description="world" />
} // Card.jsx
function Card(props) { return ( <div> <h1>{props.title}</h1> <p>{props.description}</p> </div> );
} export default Card;
다음에 대해 기본값이 필요한 경우 prop
Walk Through California 프로그램, defaultProp
다음 속성을 사용할 수 있습니다.
// Card.jsx
function Card(props) { // ...
} Card.defaultProps = { title: 'Default title', description: 'Desc',
}; export default Card;
최신 JavaScript를 사용하면 props
개체를 만들고 함수 인수에서 모두 기본값을 할당합니다.
// Card.jsx
function Card({title = "Default title", description= "Desc"}) { return ( <div> <h1>{title}</h1> <p>{description}</p> </div> )
} export default Card;
이는 추가 변환 없이 최신 브라우저에서 읽을 수 있는 코드로 더 유리합니다.
운수 나쁘게, defaultProps
JSX(JavaScript XML)는 기본적으로 지원되지 않으므로 브라우저에서 일부 변환을 읽어야 합니다. 이것은 많은 양의 데이터를 사용하는 응용 프로그램의 성능에 잠재적으로 영향을 줄 수 있습니다. defaultProps
.
propTypes
사용하지 마십시오. TL;DR TypeScript를 사용하십시오.
리액트에서는 propTypes
속성은 구성 요소가 해당 소품에 대한 올바른 데이터 유형을 전달하는지 확인하는 데 사용할 수 있습니다. 이를 통해 문자열, 숫자, 객체 등과 같은 각 prop에 사용해야 하는 데이터 유형을 지정할 수 있습니다. 또한 prop이 필요한지 여부를 지정할 수 있습니다.
이렇게 하면 구성 요소에 잘못된 데이터 유형이 전달되거나 필요한 prop이 제공되지 않으면 React에서 오류가 발생합니다.
// Card.jsx
import { PropTypes } from "prop-types"; function Card(props) { // ...
} Card.propTypes = { title: PropTypes.string.isRequired, description: PropTypes.string,
}; export default Card;
유형 스크립트 구성 요소에 전달되는 데이터의 형식 안전성 수준을 제공합니다. 확신, propTypes
내가 시작할 때 좋은 생각이었습니다. 그러나 이제 TypeScript가 유형 안전을 위한 이동 솔루션이 되었기 때문에 다른 어떤 것보다 TypeScript를 사용하는 것이 좋습니다.
// Card.tsx
interface CardProps { title: string, description?: string,
} export default function Card(props: CardProps) { // ...
}
TypeScript는 정적 유형 검사를 추가하여 JavaScript 위에 구축되는 프로그래밍 언어입니다. TypeScript는 더 강력한 유형 시스템을 제공하여 더 많은 잠재적인 버그를 포착하고 개발 경험을 향상시킬 수 있습니다.
클래스 구성 요소 사용
핵심요약: 컴포넌트를 함수로 쓰기
React의 클래스 구성 요소는 JavaScript 클래스를 사용하여 생성됩니다. 그것들은 보다 객체 지향적인 구조를 가지고 있을 뿐만 아니라 this
키워드 및 라이프사이클 메소드.
// Card.jsx
class Card extends React.Component { render() { return ( <div> <h1>{this.props.title}</h1> <p>{this.props.description}</p> </div> ) }
} export default Card;
함수보다 클래스로 구성 요소를 작성하는 것을 선호하지만 JavaScript 클래스는 초보자가 이해하고 this
매우 혼란스러울 수 있습니다. 대신 구성 요소를 함수로 작성하는 것이 좋습니다.
// Card.jsx
function Card(props) { return ( <div> <h1>{props.title}</h1> <p>{props.description}</p> </div> )
} export default Card;
함수 구성 요소는 단순히 JSX를 반환하는 JavaScript 함수입니다. 그들은 읽기가 훨씬 쉽고 다음과 같은 추가 기능이 없습니다. this
키워드와 수명 주기 방법 클래스 구성 요소보다 더 성능이 좋습니다.
함수 구성 요소에는 후크를 사용하는 이점도 있습니다. 반응 고리 클래스 구성 요소를 작성하지 않고도 상태 및 기타 React 기능을 사용할 수 있으므로 코드를 더 읽기 쉽고 유지 관리 및 재사용할 수 있습니다.
불필요하게 React 가져오기
TL;DR: 후크가 필요하지 않으면 할 필요가 없습니다.
17년에 React 2020이 출시되었으므로 이제 구성 요소를 만들 때마다 파일 맨 위에 React를 가져올 필요가 없습니다.
import React from 'react'; // Not needed!
export default function Card() {}
하지만 React 17 이전에는 JSX 변환기(JSX를 일반 JavaScript로 변환하는 것)가 React.createElement
React를 가져올 때만 작동합니다. 그 이후로 JSX를 변환할 수 있는 새로운 변환기가 출시되었습니다. createElement
방법.
후크를 사용하려면 여전히 React를 가져와야 합니다. 파편, 라이브러리에서 필요할 수 있는 기타 기능 또는 구성 요소:
import { useState } from 'react'; export default function Card() { const [count, setCount] = useState(0); // ...
}
그것은 나의 초기 실수였습니다!
더 나은 관행 중 일부는 나중에 나온 것이기 때문에 "실수"는 너무 가혹한 단어일 수 있습니다. 그럼에도 불구하고 프로젝트 및 기타 자습서에서 "오래된" 작업 방식이 여전히 활발하게 사용되고 있는 사례를 많이 봅니다.
솔직히 말해서 시작할 때 실수를 다섯 번 이상 한 것 같습니다. 새로운 도구에 도달할 때마다 스위치를 뒤집는 것이 아니라 효과적으로 사용하기 위한 학습 여정에 더 가까워질 것입니다. 그러나 이것들은 내가 몇 년이 지난 후에도 여전히 가지고 다니는 것입니다!
한동안 React를 사용해 왔다면 시작하기 전에 알고 싶었던 것이 무엇입니까? 다른 사람들이 같은 투쟁을 피하는 데 도움이 되는 컬렉션을 얻는 것이 좋을 것입니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- 플라토 블록체인. Web3 메타버스 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 출처: https://css-tricks.com/5-mistakes-starting-react/
- :이다
- $UP
- 1
- 11
- 2020
- 7
- 8
- 9
- 98
- a
- 능력
- 소개
- 절대적으로
- 달성
- 활발히
- 추가
- 추가
- 이점
- 영향을
- 후
- All
- 수
- 대안
- 및
- 앱
- 어플리케이션
- 있군요
- 논의
- 기사
- AS
- 자산
- At
- 속성
- 바벨
- 뒤로
- BE
- 때문에
- 가
- 전에
- 초보자
- 초급
- 존재
- BEST
- 베타
- 더 나은
- 경계
- 보물상자
- 브라우저
- 브라우저
- 버그
- 빌드
- by
- 라는
- CAN
- 얻을 수 있습니다
- 카드
- 나르다
- 잡아라
- 이전 단계로 돌아가기
- 검사
- 수업
- 수업
- 암호
- 수집
- 구성 요소
- 구성 요소들
- 구성
- 혼란
- 수
- 엄호
- CRA
- 만들
- 만든
- 생성
- CSS
- 데이터
- 태만
- 설명
- 데브
- 개발
- 어려운
- 선적 서류 비치
- 하지 않습니다
- 하기
- 말라
- 마다
- 초기의
- 쉽게
- 효과적으로
- 중
- 요소
- 환경
- 오류
- 특히
- 등
- 조차
- EVER
- 모두
- 경험
- 수출
- 여분의
- 빠른
- 특징
- 를
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- Find
- 먼저,
- 처음으로
- 수행원
- 럭셔리
- 뼈대
- 프레임 워크
- 신선한
- 에
- 기능
- 기능
- 얻을
- 점점
- 가는
- 좋은
- 큰
- 있다
- 도움
- 도움이
- 더 높은
- 고도로
- 후크
- 기대
- 방법
- 그러나
- HTML
- HTTPS
- i
- 생각
- 형상
- import
- 가져 오기
- 개선하는
- in
- 설치
- 를 받아야 하는 미국 여행자
- 인터페이스
- IT
- 그
- 자바 스크립트
- 일
- 여행
- 알아
- 언어
- 배우기
- 레슨
- 레벨
- 도서관
- wifecycwe
- 처럼
- 명부
- 롯
- 만든
- 유지보수 가능
- 확인
- 제작
- 유튜브 영상을 만드는 것은
- 방법
- 방법
- 방법
- 수도
- 신경
- 실수
- 현대
- 배우기
- 가장
- name
- 필요
- 신제품
- 번호
- 대상
- of
- on
- ONE
- 최적화
- 옵션
- 기타
- 기타
- 패키지
- 매개 변수
- 합격
- 성능
- 선택
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 많은
- 인기 문서
- 가능한
- 가능성
- 잠재적으로
- 강한
- 사례
- 취하다
- 아마
- 문제
- 프로그램 작성
- 프로젝트
- 프로젝트
- 재산
- 제공
- 제공
- 차라리
- 도달
- 반응
- 읽기
- 권하다
- 정규병
- 공개
- 출시
- 관련된
- 주목할 만한
- 필요
- 필수
- return
- 재사용 가능한
- 달리기
- 안전
- 같은
- ~ 같았다
- 세트
- 설정
- 공유
- 영상을
- 단순, 간단, 편리
- 간단히
- 이후
- 대지
- 더 매끄럽다
- So
- 해결책
- 일부
- 무언가
- 구체적으로
- 지출
- 스타트
- 시작
- 시작 중
- 주 정부
- 아직도
- 구조
- 투쟁
- 이러한
- SUPPORT
- 지원
- 스위치
- 체계
- 복용
- 단말기
- 그
- XNUMXD덴탈의
- 그들
- Bowman의
- 맡은 일
- 일
- 생각
- 을 통하여
- 시간
- Title
- 에
- 너무
- 수단
- 검색을
- 상단
- 변환
- 변환
- 참된
- 자습서
- 타이프 스크립트
- 이해
- URL
- 사용
- 가치
- 마케팅은:
- 버전
- 방법..
- 웹
- 웹팩
- 잘
- 뭐
- 어느
- 동안
- 의지
- 과
- 없이
- 워드
- 작업
- 세계
- 겠지
- 쓰다
- 쓰기
- 쓴
- 잘못된
- XML
- 년
- 자신의
- 너의
- 당신 자신
- 제퍼 넷