我正在考虑反应/ redux并试图在购物车应用程序中调度一个动作,这是容器组件的一部分:
import React, { Component } from 'react';
import {connect} from 'react-redux';
import AddProduct from './addproduct';
import Products from './products';
import { bindActionCreators } from 'redux'
import * as AddActions from './actions/addaction'
const Cart = ({products, actions}) => (
<div>
<AddProduct addProduct={actions.addProduct}></AddProduct>
</div>
)
以某种方式不调度actions.addProduct。这就是AddProduct必须分派的动作(handleAddProduct被称为btw):
handleAddproduct = () => {
//does not get dispatched???:
this.props.addProduct(this.refs.name.value);
}
我在这里想念的是什么?以下是code
的链接答案 0 :(得分:0)
派遣。您有两个./reducers/cart
缩减器,商店是使用./components/reducers
而非 switch (action.type) {
case "ADD":
return [
...state,
action.object
];
创建的。
另一个问题是在reducer中你有这段代码:
action.text
...而应该是export const addProduct = text => ({ type: 'ADD', text })
,因为该密钥是在动作创建者中创建的:
undefined
这就是为什么即使它被调用,它也会将=>
追加到状态列表中。