stateのdataのlanguageは配列で、その中にLangとLevelのオブジェクトが入っています。
onClickUpdateLanguageが呼ばれたときに引数valueにLevelのオブジェクトが渡ってきます。
const targetの処理で現在のstateの中から引数で渡ってきたupdateStateIdとlang.idが同じlanguageの配列をtaegetに入れています。
このtargetに引数で渡ってきたvalueを入れて、現在のstateを更新したいです。
どうやったらいいのでしょうか?
わかる人いましたらご教授お願いしたいです
interface Data { name: string; language: Language[]; } interface Language { lang: Lang; level: Level; } interface Lang { id: name; name: string } interface Level { id: name; name: string } interface State { data: Data; text: string; modal: boolean } const Index: FC = () => { const [state, setState] = useState<State>({ data: initialdata, text: '', modal: false, }); // valueにLevelのオブジェクトが引数で渡される。現在のstate.languageの配列のlevelにvalueの値を入れたい。 const onClickUpdateLanguage = (value: Level, updateStateId: number) => { const target = state.data.language.find((st) => { return st.language.id === updateStateId; }); };
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。