Javascript React Redux组件在状态更改时不重新呈现

Javascript React Redux组件在状态更改时不重新呈现,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,如何确保触发状态更改并在组件中捕获它 我的应用程序有一个操作,在过滤器组件中单击会触发该操作。此筛选器执行搜索并返回新产品(基于筛选器) 该操作有效,使用React Chrome扩展,我可以看到产品的全局状态发生变化。但是,我无法在我的shopComponent中获取新状态,这将根据新产品状态更改显示的产品..:( 我是否正确地将其映射到shopProduct组件?我认为您误解了传递给connect的第二个参数应该是什么。根据它,应该映射DispatchToprops。您正在尝试传递您的prop

如何确保触发状态更改并在组件中捕获它

我的应用程序有一个操作,在过滤器组件中单击会触发该操作。此筛选器执行搜索并返回新产品(基于筛选器)

该操作有效,使用React Chrome扩展,我可以看到产品的全局状态发生变化。但是,我无法在我的shopComponent中获取新状态,这将根据新产品状态更改显示的产品..:(


我是否正确地将其映射到shopProduct组件?

我认为您误解了传递给
connect
的第二个参数应该是什么。根据它,应该映射DispatchToprops。您正在尝试传递您的propTypes,这不是第二个参数所期望的。您可能想了解一下。

好的。因此为什么没有渲染是因为我们使用了不可变JS
因此,对于其他有问题的用户,请检查您的应用程序是否正在使用该功能

只需将对象引用为state.get('objectName')

对:

const mapStateToProps = (state) => ({
   products: state.get('products')
});
-

错:

const mapStateToProps = (state, ownProps) => ({
    cart: state.cart,
    products: state.products
});

对不起,我很困惑。你能给我一个如何定义它的例子吗?我是应该将
mapDispatchToProps
放在shopProducts文件还是过滤器文件(触发操作的地方)?那么我如何查看组件内的新状态?
const mapStateToProps = (state, ownProps) => ({
    cart: state.cart,
    products: state.products
});