生活コード反応翌日
7.state
propとStateの違い.
→propデバイスを使用する外部ユーザに適用
stateは、構成部品を使用する内部ユーザに適しています.
特定のモードで構成部品を変更します.
function App() {
const mode = 'WELCOME' // 모드가 WELCOME이다.
let content = null; // Content가 null
if(mode === 'WELCOME') // 모드가 WELCOME이라면
{
content = <Article title="Welcome" body="Hello, WEB"></Article>; // content에 컴포넌트 저장
} else if(mode === 'READ') // READ라면
{
content = <Article title="READ" body="Hello, WEB"></Article>; // 컴포넌트 저장
}
return (
{content}
);
}
Stateの使用useStateのインポート
import { useState } from "react";
値をuserStateにループします.
- { setMode("READ");}}>
Header title="REACT"onChangeMode={function (e) { e.preventDefault(); setMode("WELCOME");
List押すREAD/Header押すWELCOME
数値で指定した値でも、タグのプロパティに移動するとテキストになります.
number()関数を使用して、文字→数値に変換できます.
単純作成
1.CREATEモードを作成します.
else if(mode === 'CREATE') {
content = <CREATE onSubmit={(_title, _body) => {
const newTopic = {id: nextId, title: _title, body: _body}; // 받아온 값을 넣어줍니다.
const newTopics = [...topics] // [...의 이름]은 해당 객체를 복제하는 의미입니다.
newTopics.push(newTopic); // 복제한 newTopics에 추가한 내용인 newTopic을 넣어줍니다.
setTopics(newTopics); // newTopics를 setTopics에 넣어 topics값을 갱신해줍니다.
setMode("READ"); // 토픽을 추가했다면 READ 모드로 전환합니다.
setId(nextId); // Id를 nextId로 바꿉니다.
setNextId(nextId +1); // NextId값에 1을 추가해줍니다 // 다음id값이랑 겹치지 않기 위해
}}><CREATE> // 새롭게 CREATE컴포넌트를 만들어서 content에 넣어줘야 합니다.
}
2.CREATE素子function CREATE(props) {
return (
<article>
<h2>Create</h2> // 지금 모드가 무슨 모드인지 나타내는 용도입니다.
<form onSubmit={(e)=> {
e.preventDefault();
const title = e.target.title.value // name이 title인 값을 가져옵니다.
const body = e.target.body.value // name이 body인 값을 가져옵니다,
props.onSubmit(title, body);
}}
<p>
<input type="text" name="title" placeholder="title을 적어주세요" /> // title영역
</p>
<p>
<textarea name="body" placeholder="body">
본문을 입력
</textarea> // body영역
</p>
<p>
<input type="submit" value="Create" /> //전송 역할.
</p>
</form>
</article>
);
}
結果学習で新しく学んだ内容.
重要度★★
onSubmitは、submitボタンをクリックしたときに発生するイベントです.
重要度★★★
PRIMITIVEタイプ:string、number、bight、boolean、undefined、symbol、nullの7種類.
その中で重要なのはstring、number、boolean、null程度です
重要度★★★★★★★
オブジェクトタイプ:objec、array;//setの設定方法は前述のPRIMITIVEとは異なります
に道を教える
→newValue={.value}//大かっこ{.value}=value.
newValueの変更
setValue(newValue)=新しい値を導入します.
今日のTIL终わり!
明日勉強する内容
更新!
削除!
Reference
この問題について(生活コード反応翌日), 我々は、より多くの情報をここで見つけました https://velog.io/@dltjdgns3z/생활코딩-리액트-2일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol