[type]: [...this.state[type], group]で TypeError: Invalid attempt to spread non-iterable instanceというエラーになっています。
console.log(this.state[type])としたところundifindとなっていました。
どうやってthis.state[type]に値を入れてあげればいいのでしょうか?
const Types = { groups: 'groups', apGroups: 'apGroups' }; constructor(props) { super(props); const { groups, apGroups } = props; this.state = { groups, apGroups, user, this.onClickDeleteGroup = this.onClickDeleteGroup.bind(this); } // onClickDeleteGroupには引数として(groups, Types.apGroups)を渡しています onClickDeleteGroup(group, type) { window.fetchJson(`/group/`, { method: DELETE, body: JSON.stringify(humps.decamelizeKeys( { groupId: group.id } )), }).then(() => this.deleteGroup(group, type)) .catch((e) => console.log(e)); } deleteGroup(group, type) { const temp = Object.assign({}, { [type]: user[groupType].filter((g) => g.id !== group.id) } ); console.log(this.state[type]) this.setState({ user: temp, [type]: [...this.state[type], group], isSnackBar: true, snackBarMessage: '削除しました。', }); }
回答1件
あなたの回答
tips
プレビュー