210708 props
propsの使用
前回作ったモデールの「タイトル」を私たちが書いた文章のタイトルに変えたいなら?
function Modal(){
return(
<div className="modal">
<h2>{title[0]}</h2>
<p>날짜</p>
<p>상세내용</p>
</div>
)
}
一見、そうすればいい.コンパイルエラー
"title"이 없어요
App.js(親コンポーネント)のモードは자식 컴포넌트
です.親構成部品は、親構成部品のstateを書き込むために子構成部品を送信する必要があります.=>
props
構文この場合に必要な<자식 컴포넌트 작명 = {state명}/>
<Modal 작명 = {전송할 state}></Modal>
> <Modal title={title} ></Modal>
props 파라미터 입력
(サブエレメントから取得)function Modal(props){
return(
<div className="modal">
<h2>{ props.title[0] }</h2>
<p>날짜</p>
<p>상세내용</p>
</div>
)
}
props応用
タイトルをクリックしたときに異なるモードウィンドウが表示される方法は?
いくつかのタイトルをクリックして
state
に保存!!!UIに関する重要な情報を保存します.
stateに従ってUIを変更します.
故故故
let [tNumber, setTNumber] = useState(0);
まずStateを作成し、クリックした番号を保存します.0番目の見出しをクリックします.ステータスは0です.
最初のタイトルをクリックするとstateは1
2番目のタイトルをクリックし、stateは2
に代わる
ただし、この小さいサイズを格納するstateもサブアセンブリで使用するにはpropsが必要です.
function Modal(props){
return(
<div className="modal">
<h2>{ props.title[props.tNumber]}</h2>
{/* tNumber는 방금 누른 버튼 */}
<p>날짜</p>
<p>상세내용</p>
</div>
)
}
n番目のタイトルでstateをnに変換するにはmap의 파라미터
が便利です.このまま {
title.map(function(a, i){
return (
<div className = "list">
<h3 onClick={ ()=>{ setTNumber(i) } }>{ a }<span onClick={()=>{setGood(good+1)}}>👍</span> {good} </h3>
<p>7월 2일 발행</p>
<hr/>
</div>
)
}) //title array를 돌면서 반복
}
[春コート推奨ボタンをクリックした場合]前回いじめたのは...クリックしたタイトル変数をどのように保存するかという問題を解決しました.haha^^パラメータでi変数を生成するのも簡単で、0から自動的に繰り返されます.
Reference
この問題について(210708 props), 我々は、より多くの情報をここで見つけました https://velog.io/@autumndr3ams/210708-propsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol