React - 复制状态不返回新对象

时间:2018-05-16 14:52:33

标签: javascript reactjs ecmascript-6

我试图在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

0 个答案:

没有答案