我试图在React中的组件函数中复制我的状态,所以我可以改变对象以发出Ajax请求。
这是我的代码:
fetchNewThumbnails = () => {
const { publicationsFilter, currentQuery } = this.state;
const params = Object.assign({}, currentQuery);
console.log(params)
console.log(currentQuery)
if (publicationsFilter !== 'All') {
params.test = 'test';
}
// some Ajax request here
}
问题是当我在if语句中编辑复制的params
对象时。当我复制它并再次运行该函数并将publicationsFilter
设置为'All'
时,我希望复制的params
对象只是没有{{1}的状态的副本键入对象,但它仍然存在于上一次运行的函数中。
记录test
对象总是返回没有currentQuery
键的状态,所以我原以为它只会复制params.test
对象而不是保留前一个{ {1}}对象。
不完全确定我哪里出错了,如果有什么不清楚的地方,请告诉我!
修改
currentQuery对象如下所示:
currentQuery