stateのdataのname,age,countryのqueryの部分を変えたいです。
...{data: { ...state.data, [key].query: e.target.value } }としたのですが[key].queryのところでParsing error: ':' expected.eslintとなってしまいます。
どう修正したらいいでしょうか?
わかる人いたら教えて欲しいです。
interface Data { name?: Name; age?: Age; country?: Country; } interface Name { query: string; current: boolean; } interface Age { query: string; current: boolean; } interface Country { query: string; current: boolean; } const initial: Name | Age | Country = { query: '', current: false, }; const initialdata: Data = { name: initial, age: initial, country: initial, } interface State { data: Data; text: string; modal: boolean } const Index: FC = () => { const [state, setState] = useState<State>({ data: initialdata, text: '', modal: false, }); // この関数を呼び出すところではonChangeWithKey(ChangeEvent<HTMLInputElement>, 'name')のようにDataののname,age,countryのどれかを渡してあげている const onChangeWithKey = (e: any, key: string) => { setState({ ...state, ...{data: { ...state.data, [key].query: e.target.value } } }); };
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/10/14 17:38
2020/10/16 01:04