onClickAgeの処理では引数の値ageとstateのageGroupsに保存されている値を比べて同じ物があればstateのageGroupsの配列からそれを消して、違うなら新しくageGroupsの配列に追加したいです。
filterAgeの処理で同じ値を比べて違うなら引数のageを返したいのですがstate(st)の値が返ってしまいます。
わかる方いましたらご教授して欲しいです
const onClickAge = (age: IAgeGroups) => { const filterAge = state.searchState.ageGroups.filter((st) => { if (st.code != age.code) return age; }); if (state.searchState.ageGroups === null) { setState({ ...state, searchState: { ...state.searchState, ageGroups: [...state.searchState.ageGroups, age] }, }); } if (filterAge.length > 0) { setState({ ...state, searchState: { ...state.searchState, ageGroups: filterAge }, }); } else { setState({ ...state, searchState: { ...state.searchState, ageGroups: [...state.searchState.ageGroups, age] }, }); } };
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/10/15 07:19
退会済みユーザー
2020/10/15 07:19
退会済みユーザー
2020/10/15 08:05
退会済みユーザー
2020/10/15 08:07
2020/10/15 08:09
2020/10/15 08:10
退会済みユーザー
2020/10/15 14:10 編集
2020/10/15 23:15
退会済みユーザー
2020/10/20 03:40