Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React Redux Chrome扩展获取操作类型未定义的错误_Javascript_Reactjs_Redux_React Redux - Fatal编程技术网

Javascript React Redux Chrome扩展获取操作类型未定义的错误

Javascript React Redux Chrome扩展获取操作类型未定义的错误,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我们已经使用react-chrome-redux在react-redux上构建了chrome扩展,请参见: 我正在尝试发送操作并进行http调用。我们正在使用axios。我们收到一个错误:操作可能没有未定义的“type”属性 在react chrome redux库包中,有一个用来模拟thunk功能的调用,dispatchResponder,但我不理解它。我发送了我的操作,但连续获取的操作类型未定义错误请参见: 这是组件中的分派。有一个handleChange函数,它通过一些验证用用户的输入值(

我们已经使用react-chrome-redux在react-redux上构建了chrome扩展,请参见:

我正在尝试发送操作并进行http调用。我们正在使用axios。我们收到一个错误:
操作可能没有未定义的“type”属性

在react chrome redux库包中,有一个用来模拟thunk功能的调用,
dispatchResponder
,但我不理解它。我发送了我的操作,但连续获取的操作类型未定义错误请参见:

这是组件中的分派。有一个handleChange函数,它通过一些验证用用户的输入值(电子邮件、密码)更新状态

handleLogin = (event) => {
  event.preventDefault();
  const { email, password } = this.state;

  if (email && password) {
    this.props.login(email, password);
  }
}

....

function mapDispatchToProps(dispatch) {
    return {
        login: function (email, password) {
            dispatch(login(email, password))
        }
    }
}

/**
 * @property {object} classes
 * @property {object} theme
 * @property {object} user - User logging in
 * @property {object} login - authentication attempt
 */
Login.propTypes = {
    classes: PropTypes.object.isRequired,
    theme: PropTypes.object.isRequired,
    user: PropTypes.object.isRequired,
    login: PropTypes.func.isRequired,
};

export default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles, { withTheme: true })(Login));
这是通过
login

export function login(email, password) {

  return dispatch => {
    dispatch(request(email));
    const data = { "email": email, "password": password };

    const login = axios({
      // make post request to auth service
    });

    login.then(
      response => {
        localStorage.setItem("user", JSON.stringify(response.data));
        dispatch(success(response.data));
      },
      error => {
        dispatch(failure(error));
        dispatch(alertActions.error(error.message));
      }
    );
  };

  function request(email) { return { type: types.LOGIN_REQUEST, email } }
  function success(user) { return { type: types.LOGIN_SUCCESS, user } }
  function failure(error) { return { type: types.LOGIN_FAILURE, error } }
}
还有我的减速机。减速器已正确导入减速器/index.js文件

import * as types from "../constants/constants";
import * as actions from "../actions/authActions";

let user = JSON.parse(localStorage.getItem('user'));
const initialState = user ? { loggedIn, user, loading } : {};

export default (state = initialState, action) => {
  switch (action.type) {

    case types.LOGIN_REQUEST:

      return {
        ...state,
        loading: true,
      };

    default:
      return state;
  }
};

。/constants/constants
中的内容是
类型。是否定义了登录请求?您是否在包含登录功能的文件中正确导入了它?
。/constants/constants
是我的操作类型。因此,我将常量导入为
类型
,并将其称为
类型。登录请求
。登录请求在这里定义
export const LOGIN\u REQUEST=“LOGIN\u REQUEST”
这个特殊的代码组织,即使用常量作为我的动作类型,是从我一直在寻找的一个样板文件中获取的。如果在动作创建者中我返回类似于
返回{type:types.LOGIN\u REQUEST,email}
的内容,则没有错误。我想在action Creator中我的
dispatch=>
出现了一些问题。您是否尝试过在Chrome中使用断点对其进行调试,以查看action的内容?