フォルダ構造:container/presenter


container = JavaScript / presenter = HTML


[Props]


データを接続せずにファイルを接続するために使用

コンテナから関数と変数をエクスポート

    return(
        <BoardWriteUI
            onChangeName={onChangeName}
            onChangePassword={onChangePassword}
            onChangeTitle={onChangeTitle}
            onChangeContent={onChangeContent}
            nameError={nameError}
            passwordError={passwordError}
            titleError={titleError}
            contentError={contentError}
            check={check}
            buttonColor={buttonColor}
        />
    )

関数と変数import

export default function BoardWirteUI(props){
    return (
        <>
            <Title zzz={props.zzz}>컨테이너 프리젠터 패턴</Title>
            작성자: <input type="text" onChange={props.onChangeMyWriter} /><br />
            제목: <input type="text" onChange={props.onChangeMyTitle} /><br />
            내용: <input type="text" onChange={props.onChangeMycontents} /><br />
            <Mybutton onClick={props.aaa} qqq={props.qqq}>GRAPHQL-API 요청하기</Mybutton>
        </>
    )
}
propsは、使用する関数名の前に宣言されます.追加

Stateのプロパティ


-ステータスが変化するたびに値を追加するのではなく、効率化のために値を一度に渡す


<<そのため、すぐに変更するのではなくStateの値を使用することをお勧めします>>
    function onChangeMyWriter(event) {
        setMyWriter(event.target.value)
        if(event.target.value !== "" && myTitle !== "" && myContents !== ""){
            setQqq(true)
        }
        else{
            setQqq(false)
        }
    }
event.target.valueを使用してすぐに値を変更します.

ボタンの色を変更


デフォルトfalse->としてコンテナ内のステータス宣言
Propsを使用してStateをデモンストレーションに移動->
State変数をpresenterのボタンに代入する->
styledは、3つの演算子を使用して、ステータス変数「真」が黄色、「偽」が灰色であることを宣言します.