on/offを切り替えるswitchがあり、切り替えるときにchangeState関数が呼ばれます。
引数として渡されるkeyの中身は{numberState: true}の形で渡されます。
渡された値でstateを変えたいのですがうまくいきません
わかる人がいましたら教えて欲しいです。よろしくお願いします。
*追記
コンポーネントはmaterialUIを使っています
interface IState { numbers: boolean; symbol: boolean; texxt: boolean; } const index:FC = () => { const [state, setState] = useState<IState>(); const changeState = (key: IState) => { console.log(key) // setStateでうまくstateを変更できない setState({ ...state, ...{ key: !key }}); }; <Switch checked={numberState} onChange={(e) => changeState({ number: e.target.checked })} /> <Switch checked={textState} onChange={(e) => changeState({ text: e.target.checked })} /> <Switch checked={symbolState} onChange={(e) => changeState({ symbol: e.target.checked })} />
あなたの回答
tips
プレビュー