props&statesを使用したCSS

1665 ワード

presenterではpropsを関数ではなく情緒的な要素として用いる場合、


${(props)=>props.xxx}で渡されます。



propsとstateを使用してボタンの色を変更する


  • JavaScriptを含むコンテナでustState-を設定してreturnセクションに追加

  • JSXのpresenterボタンでpropsを取得する

  • emptoin用の位置から矢印関数で受信(条件は3つの演算子)


  • 条件をコンテナに循環
  • 	const [isActive, setIsActive] = useState(false)
    
        const onChangeWriter = (event) => {
        setWriter(event.target.value);
    
        if (event.target.value !== "" && title !== "" && contents !== "") {
          setIsActive(true);
        } else {
          setIsActive(false);
        }
        };
    
        const onChangeTitle = (event) => {
        setTitle(event.target.value);
    
        if (writer !== "" && event.target.value !== "" && contents !== "") {
          setIsActive(true);
        } else {
          setIsActive(false);
        }
        };
    
        const onChangeContents = (event) => {
        setContents(event.target.value);
    
        if (writer !== "" && title !== "" && event.target.value !== "") {
          setIsActive(true);
        } else {
          setIsActive(false);
        }
        };
    一人一人にこのような条件を与えれば.
    すべての入力時にのみ(true)ボタンが黄色に変わります.
    最後のセルをクリアすると、ボタンが再びグレーに変わります.
    各条件文にのみ適用
    event.target.value !== ""
    このように書くのは,この部分にそれぞれ対応する変数を加えているためであり,setStateが変わるからではなく,setStateが終わった後にその関数が変わるので,テンポが遅くなる->eventである.target.valueを加えるとすぐに変わる