React 원료약 소개
17352 단어 reactcodenewbiejavascript
안녕, 세상.👋
My Review of Kent C. Dodd's EpicReact.Dev Series의 세 번째 글을 환영합니다. 이 글은 EpicReact.Dev에서 제공한 Kent C. Dodds 현장 자료를 바탕으로 합니다.만약 이 시리즈의 이전 문장을 읽지 않았다면, 이 문장을 계속 읽기 전에 읽으십시오.
다음은 이전 글입니다.
우리는 세미나의 유사한 형식, 즉 모든 주제에 대해 우리가 실현하고자 하는 목표를 먼저 소개한 다음에 이 목표를 어떻게 실현하는지 볼 것이다.
카탈로그
Basic JS "Hello World"
Intro to Raw React APIs
기본 JS "Hello World" 입니다.
소개
우리의 목표는 기본 자바스크립트 렌더링
Hello World
을 사용하는 것이다.현재 HTML에는 다음과 같은 내용이 있습니다.
<div id="root"></div>
HTML은 다음과 같습니다.<div id="root">
<div class="container">Hello World</div>
</div>
DOM 노드 생성
우리는 자바스크립트
document
API를 사용하여 상술한 결과를 실현할 수 있다.// Fetches the element with id as `root` from DOM
const rootElement = document.getElementById("root")
// Creates an element with `div` tag
const helloWorldElement = document.createElement("div")
helloWorldElement.textContent = "Hello World"
helloWorldElement.className = "container"
// Appends the helloWorldElement to the rootElement
rootElement.append(helloWorldElement)
우리가 여기서 한 일을 분석해 봅시다.id
가 root
인 요소를 가져옵니다.원본 반응 API 소개
인용 2
React는 이전에 백그라운드에서 보았던 동일한 문서 API를 사용합니다.하지만 이를 추상화하여 사용하기 쉽고 직관적인 API를 제공합니다.
이전과 같은 Hello World 태그를 만들어 보겠습니다. 이번에는 React를 사용하겠습니다.
원시 반응 원료약
// Fetches the element with id as `root` from DOM
const rootElement = document.getElementById("root")
// Creates an element with `div` tag
const helloWorldElement = React.createElement("div", {
className: "container",
children: "Hello World"
})
// Appends the helloWorldElement to the rootElement
ReactDOM.render(helloWorldElement, rootElement)
이 코드를 이해하기 전에 React
과ReactDOM
를 사용했습니다. 이것은 기본적인javascript의 일부분이 아닙니다.따라서 우리가 그것을 사용할 수 있기 전에 그것을 추가해야 한다.CDN 스크립트를 사용하여 추가할 수 있습니다.CDNunpkg을 사용합니다.
<script src="https://unpkg.com/[email protected]/umd/react.production.min.js"></script>
<script src="https://unpkg.com/[email protected]/umd/react-dom.production.min.js"></script>
이것을 추가하면 자바스크립트에서 React
및 ReactDOM
에 접근할 수 있습니다.이제 코드를 이해해 봅시다.
id
가 root
인 요소를 가져옵니다.document
API를 사용하고 있다.React.createElement()
라는 새로운 React API를 소개합니다.children
라는 새로운 속성을 도입했다.children
기본적으로 우리가 만든 HTML 태그 내부에 필요한 내용을 대체합니다.<div>Hello World</div>
을 원한다면 div
표시가 있는 React 요소를 만들고 하위 속성을 Hello World
로 설정합니다.ReactDOM.render()
element1
뒤에 element2
를 붙이고 싶다면.그럴 거야ReactDOM.render(element1, element2)
.중첩 요소
React를 사용하여 다음 태그를 작성해 보겠습니다.
<div id="root">
<div>
<span>Hello</span>
<span>World</span>
</div>
</div>
이 동작을 실행하기 전에, 우리가 전에 본 children
속성도 수조를 그 값으로 받아들인다는 것을 알아야 합니다.예를 들어, 다음 두 호출은 동일한 HTML 출력을 생성합니다.
// 1.
React.createElement("div", { children: "Hello World" })
// 2.
React.createElement("div", { children: ["Hello", " ", "World"] })
이제 우리는 이 점을 알게 되었다. 주어진 표시를 만들어 보자.// Fetches the element with id as `root`
const rootElement = document.getElementById("root")
// Creates a `span` element with content as `Hello`
const helloElement = React.createElement("span", {children: "Hello"})
// Creates a `span` element with content as `World`
const worldElement = React.createElement("span", {children: "World"})
// Let's put the above two elements in to a single div
const helloWorldElement = React.createElement("div", {
children: [helloElement, worldElement]
})
위의 코드는 우리가 원하는 HTML 태그를 만들 것입니다.주:
반응하다createElement도 2개 이상의 매개변수를 수용할 수 있습니다.
다음 두 호출은 같은 내용을 생성합니다.
// 1.
React.createElement("div", {children: [element1, element2, element3]})
// 2.
React.createElement("div", {}, element1, element2, element3)
따라서 기본적으로 압축 children
수조를 풀고 다른 매개 변수로 추가할 수 있다.지금 이대로.
다음은 무엇입니까
이 문서에서는 React 원시 API에 대한 자세한 내용을 볼 수 있습니다.따라서 많은 원소가 있고 모든 원소가 서로 다른 속성을 가지고 있을 때 이런 코드를 작성하는 것은 좀 어려워진다.
이것이 바로 React가 우리에게 간략한 방법을 제공하고
JSX
라는 형식으로 코드를 작성하는 이유입니다. 이 형식은 HTML
과 약간 유사해 보입니다.다음 글에서는 JSX
에 대한 모든 내용을 볼 수 있고, 사용자 정의 구성 요소를 만들고 CSS를 사용하여 스타일 설정을 하는 방법도 볼 수 있습니다.다음까지👋
다음 글도 좋아할 수 있습니다.
링크 및 참조:
EpicReact.Dev-Kent C. Dodds가 개최하는 시리즈 세미나를 바탕으로 본 블로그 시리즈를 작성합니다.
React Fundamentals Workshop Repo-Github Repo, 스스로 진도를 정하는 세미나를 하고 싶다면.
React Fundamentals Workshop Demo - 상술한 현장 환매의 생산 응용.
Reference
이 문제에 관하여(React 원료약 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pbteja1998/react-fundamentals-part-1-np2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)