Redux:为什么行动不派遣?

时间:2017-09-03 02:06:03

标签: reactjs redux react-redux

我正在考虑反应/ 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

的链接

1 个答案:

答案 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

这就是为什么即使它被调用,它也会将=>追加到状态列表中。