javascript - Redux 表单操作未定义

标签 javascript reactjs firebase redux

我正在尝试进行授权。 我从 reduxForm 获取数据,并且它是可见的,但由于某种原因,数据不会立即进入函数,而是进入操作,并且我得到一个未定义的值。 注册也是按照同样的原理进行的,但是没有错误。

我的错误可能出在哪里?

REDUX

const NewUserEror = "NewUserEror";
const RegSucces = "RegSucces";
const RegStart = "RegStart";
const RegEnd = "RegEnd";

let initialState = {
  error: null,
  loading: false
};

const registrationReducer = (state = initialState, action) => {
  switch (action.type) {
    case RegSucces:
      return {
        ...state,
        error: false
      };
    case NewUserEror:
      return {
        ...state,
        error: action.payload
      };
    case RegStart:
      return {
        ...state,
        loading: true
      };
    case RegEnd:
      return {
        ...state,
        loading: false
      };

    default:
      return state;
  }
};
export const LogInUser = data => async (
  dispatch,
  getState,
  { getFirebase }
) => {
  const firebase = getFirebase();
  dispatch({ type: RegStart });
  try {
    await firebase.auth().signInWithEmailAndPassword(data.email, data.password);
    dispatch({ type: RegSucces });
  } catch (err) {
    dispatch({ type: NewUserEror, payload: err.message });
  }
  dispatch({ type: RegEnd });
};


CONTAINER

import React from "react";
import { connect } from "react-redux";
import Login from "./login";
import LogInUser from "./../../../redux/registrationReducer"
class AuthBox extends React.Component{

  Userlogin=(formdata)=>{

    this.props.LogInUser(formdata)
  }
  render(){
    return<Login {...this.props} Userlogin={this.Userlogin}></Login>
  }
}

let mapStateToProps=(state)=>{
  return{
  loading:state.Regis.loading,
  error:state.Regis.error
  }
}



export default connect(mapStateToProps,{LogInUser})(AuthBox);



COMPONENT

const Login = props => {
  let onSubmit = formData => {
  props.Userlogin(formData);
  };
  return (
    <div className={classes.formbox}>
      <div className={classes.form}>
        <h5 className={classes.formtitle}>Вход</h5>
        <LoginForm onSubmit={onSubmit}></LoginForm>
      </div>
    </div>
  );
};

export default Login;

Error

Action undefined

抱歉我的英语不好

最佳答案

非默认导出必须位于{}

import React from "react";
import { connect } from "react-redux";
import Login from "./login";

////// here
import {LogInUser} from "./../../../redux/registrationReducer"
////

class AuthBox extends React.Component{

  Userlogin=(formdata)=>{

    this.props.LogInUser(formdata)
  }
  render(){
    return<Login {...this.props} Userlogin={this.Userlogin}></Login>
  }
}

let mapStateToProps=(state)=>{
  return{
  loading:state.Regis.loading,
  error:state.Regis.error
  }
}



export default connect(mapStateToProps,{LogInUser})(AuthBox);

关于javascript - Redux 表单操作未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58612485/

相关文章:

javascript 函数在 Firefox 中不起作用

javascript - 如何在不使用 <MuiThemeProvider/> 的情况下更改 Material-UI TextField 底部颜色

css - 使用水平滚动处理 React 动画

javascript - dataTable fn用新值更新行

javascript - HTML5 Canvas 中的 textAlign 属性在 IE 11 中无法正常工作

javascript - 意外 token `}`

javascript - 如何使 Prop 不可变以防止在 React 中重新渲染?

ios - FirebaseUI-iOS FUIIndexArray 用法

android - Firebase 电话身份验证未显示应用名称

android - 一次从 Firebase 消息中取消订阅所有主题