[React] TODO 애플리케이션을 만들면서 React의 기초(렌더링된 구조/상태 관리)를 배웁니다.
백문이 불여일견, 토도 앱을 만들면서 리액트를 배운다.
환경 구축 & 프로젝트 제작
기본적으로 ↓에 적힌 대로 진행됩니다.
· NodeJS 설치
node -v
프로젝트 제작npx create-react-app react-practice
• 동작 확인cd react-practice
npm start
초기 화면을 표시합니다.프로젝트 구성
・src
- React의 소스 코드를 여기에 씁니다.
・public
- HTML 파일/이미지 파일 등...HTTP 요청을 통한 링크
렌더링 프로세스
index.} 및 indexjs
・index., 렌더링 처리를 위해 React(JavaScript)를 수행합니다.
·
ReactDOM.render()
=재현・
ReactDOM.render(①React要素, ②①を反映する場所)
① React 요소 ② index.<div id="root"></div>
에 반영됩니다.App.js
・index.js에서
import App from './App';
에서 참조한 App.js
를 바탕으로 재현하기 때문에 이 앱은js와 연결된 구성 요소를 만들어서React 응용 프로그램의 절차를 실현합니다.・export의 App 함수는 HTML 같은 것을 값으로 되돌려 주는 함수이다.
・index.React 요소를 js의
ReactDOM.render()
에 전달하는 첫 번째 인자가 필요하기 때문에 HTML 같은 것을 썼으면 React 요소를 생성합니다.HTML 같은 놈의 정체 ='JSX'라는 프로그래밍 언어
・HTML의 유형은 프로그래밍 언어인'JSX'이다.
· JSX로 작성된 처리는 React입니다.createElement 함수를 통해 React 요소를 생성하는 프로세스로 변환합니다.
↓왜?↓
・ReactDOM.render () 로 전달되는 첫 번째 인자를 생성하는 React 요소의 처리가 바로 이 React입니다.createElement 함수이기 때문입니다.
・매번 ↓와 같은 문법으로 React 요소를 정의하는 것보다 JSX와 같은 HTML의 것은 당연히 쓰기 쉬우므로 JSX의 느낌을 사용한다.
// aは"React要素"
var a = React.createElement('h1', { myaddr: 'bar' }, 'First element!')
// 第1引数にReact要素が渡される
ReactDOM.render(a, document.getElementById('root'))
TODO 응용 프로그램을 만듭니다.입력 및 추가
참고 자료
TODO 어플리케이션 제작에 필요한 기능
・"추가"를 누르면 TODO 퀘스트 일람표에 반영
· 반영된 TODO 퀘스트는 계속 보류해야 합니다
・"이미 실행"후 퀘스트 사라짐
'컨디션'을 유지해야 한다는 것이다.React에서 React Hooks를 사용하여 상태 관리를 수행합니다.
아까
App.js
에 직접 써 보세요.import { useState } from 'react';
function App() {
/**
* todo = ステートの値
* setTodo = ステートの値を更新するメソッド
*/
const [todo, setTodo] = useState(``)
const [todoList, setTodoList] = useState([]);
// TODOリストに入力項目を追加する関数
const addTodoList = () => {
if (!todo) return
const newTodoList = [todo];
// 配列(オブジェクト)に対して"イミュータブル"な操作で追加する
setTodoList([newTodoList, ...todoList]);
setTodo(``);
}
return (
<div>
<h1>TODOタスク一覧</h1>
<ul>
{todoList.map((item) => {
return <li>{item}</li>
})}
</ul>
<form onSubmit={(e) => {
e.preventDefault();
addTodoList();
}}>
<input
type="text"
value={todo}
onChange={(e) => setTodo(e.target.value)}
/>
<input
type="submit"
value="追加"
// addTodoList関数そのもの渡す。
// 実行自体はform要素のonSubmit()で実施する
onSubmit={addTodoList}
/>
</form>
</div>
);
}
export default App;
이렇게 된 기분이야.추가된 부분은'이미 실행'※ 추후 추가 기록
Reference
이 문제에 관하여([React] TODO 애플리케이션을 만들면서 React의 기초(렌더링된 구조/상태 관리)를 배웁니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/crml1206/items/552cad7a622671bf3e0f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)