学習めも。

Python、Anaconda学習中🔰 ブログ引っ越ししました😄よろしくお願いします!https://noeiganolife.com/

記録用🔰

プログラミング以外の記事はこちら

フォームにて、入力値3文字以上でSAVEがされるようにdisabledを入れる

参考

qiita.com

qiita.com

tkybpp.hatenablog.com

https://style.potepan.com/articles/20652.html

techacademy.jp

NGパターン

'use strict';
import React,{ useState } from 'react';
import { createStore } from "redux";

export default function Content(props) {
    //NAME3文字以上ででsaveボタン押せるようにdisabledを入れる
    const [checkName, setCheckName] = useState([{ countName: true }]);
    const judgeName = (e) => {
            if (e.target.value.length >= 3){
                setCheckName([{ countName: false }])
        }
    }
    // const ids = props.formItem.id;
    // const names = props.formItem.name;
    // console.log(props.formItem.id["list"])
    // const ids = props.formItem.id;
    console.log(props)
    return (
        <>
            <p>content</p>
​
            <Form
                onChangeId={props.onChangeId}
                onChangeName={props.onChangeName}
            />
            <button type="button"
                className="btn btn-outline-success"
                onClick={(e) => {props.onSaveItem();console.log(e)}}
                disabled = {judgeName}
                >
                SAVE
            </button>
        </>
    );
}

function Form(props) {

    return (
        <form>
            <div className="form-group">
                <label className="pt-2">ID</label>
                <input id="id"
                    type="text"
                    className="form-control"
                    value={props.id}
                    onChange={(e) => props.onChangeId(e)}
                />
                <label className="pt-2">Name</label>
                <input id="name"
                    type="text"
                    className="form-control"
                    value={props.name}
                    onChange={
                        (e) => props.onChangeName(e)
                    }
                />
            </div>
        </form>
    )
}

⇨NGパターンでもOKパターンでもSAVEボタンを押してもログが出されず、ボタンが非活性にもならなかった ※disabled機能を追加する前まではSAVEボタンにて、ログが出せていた。(Reduxを使用)

親切な型の善意でコードの問題点やモデルコードを教えてもらう!!

React.js - フォームにて、入力値が3文字以上ででsaveボタン押せるようにdisabledを入れたい|teratail

github.com