如何确保触发状态更改并在组件中捕获它?
我的应用程序有一个操作,该操作在过滤器组件中单击时触发。此筛选器执行搜索并返回新产品(基于筛选器)。
该操作有效,使用React Chrome扩展,我可以看到产品的全局状态正在变化。但是,我无法在我的shopComponent中获取新状态,这将根据新产品状态更改显示的产品。:(
class shopProduct extends Component {
constructor(props) {
super(props);
this.state = {...localStateItems }
}
render() {
if(this.props.products != undefined) {
console.log('not undefined: ', this.props.products);
// NOTHING IS SHOWING
}
console.log('shopProducts Render: ', this.props);
// NOTHING IS SHOWING
return (
...Some new products
)
}
}
const mapStateToProps = (state, ownProps) => ({
cart: state.cart,
products: state.products
});
shopProduct.propTypes = {
productSearch: PropTypes.func.isRequired,
products: PropTypes.object
};
export default connect(mapStateToProps, { productSearch, products })(shopProduct);
我是否正确地将其映射到shopProduct组件?
发布于 2018-05-28 08:49:43
我认为您误解了传递给connect
的第二个参数应该是什么。根据the docs的说法,它应该是mapDispatchToProps。您正试图传入您的propTypes,这并不是第二个参数所期望的。您可能想要阅读有关what mapDispatchToProps is for的内容。
https://stackoverflow.com/questions/50557771
复制相似问题