やりたいこと
初期値(inishiakState)から値が変わったらButtonを表示させてあげたいのですが
どうゆうロジックにしたらいいのでしょうか?
isbuttonShowみたいなstateを追加してbuttonの表示/非表示をbooleanで管理しようと思っているのですが
値が変わったらisbuttonShowを切り替えるといロジックにすると値が変わるごとにtrue/falseに切り替わってしまいます
どうしたらいいのでしょうか?
現在のstateと初期値をどう比べたらいいのかがわかりません
const TextLength = window.gon.text_length; const Uppercase = window.gon.uppercase; const lowerCase = window.gon.lowercase; const initialState = { inputText: TextLength, upperCase: Uppercase, lowerCase: lowerCase, numbers numbers, } interface IState { inputText: number; upperCase: boolean; lowerCase: boolean; numbers: boolean } const index:FC = () => { const [state, setState] = useState<IState>(initialState); const changeState = (key: keyof IState) => { setState({ ...state, ...{ [key]: !state[key] } }); }; const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => { setState({ ...state, inputText: e.target.valueAsNumber }); }; <Input value={state.inputText} onChange={handleInputChange} /> <Switch checked={upperState} onChange={() => changeState(state.upperCae)} /> <Switch checked={upperState} onChange={() => changeState(state.lowerCase)} /> // 値が変更されたらボタンを表示したい <Button label= "保存ボタン"/ >
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/03 00:28
2020/04/03 00:28
2020/04/03 00:38
2020/04/03 00:59
2020/04/03 01:46
2020/04/03 02:23
2020/04/03 02:46
2020/04/03 02:53
2020/04/09 07:18
2020/04/09 08:23 編集
2020/04/09 09:01
2020/04/09 09:57