无法在我的状态React.js

时间:2016-10-21 11:59:37

标签: reactjs redux lodash

所以在我的状态下,我想跟踪一个包含用于查询的对象的数组。我使用React.js与Redux并拥有lodash包。问题是我似乎无法在我的状态中向我的数组添加一个对象。

我希望有人可以告诉我如何正确地做到这一点。

这是我的功能:

setFilterActive(type, min, max) {
const filterObj = {
  type: type,
  min: min,
  max: max
};
let state = this.state;
_.reject(state.queryObject.query.filters, filter => filterObj.isEqual(filter));
_.merge(filterObj,state.queryObject.query.filters);
console.log(filterObj);
this.setState(state);
console.log("Filters Array:" , this.state.queryObject.filters);
}

1 个答案:

答案 0 :(得分:0)

试试这个。

_.assign

另外,作为建议,您应该使用_.merge而不是 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:templateObject="urn:data"> <xsl:output method="html" omit-xml-declaration="yes"/> <xsl:variable name="products" /> <xsl:variable name="doc" select="document($products)"/> <xsl:template match="/body"> <html> <body bgcolor="#E5E5E5" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0"> <table style="width:100%;" class="orderItems"> <xsl:for-each select="$doc"> <tbody> <tr> <td class="itemThumbnail" style="width:80px; height:70px; padding-top:20px;"> <img src="ref" alt="" /> </td> <td style="padding-top:20px; font-family:Arial, Verdana, Helvetica, sans-serif; font-size: 16px; line-height: 20px; color:#4c4c4c;"> <xsl:value-of select="$ProductName" /><br /> Quantity: 1 </td> <td style="text-align:right; font-family:Arial, Verdana, Helvetica, sans-serif; font-size: 16px; line-height: 20px; color:#4c4c4c;"> Price: <strong style="font-size:20px; color:#b9277e;"> <xsl:value-of select="$Amount" /> </strong> </td> </tr> </tbody> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> ,因为它会改变对象。