TypeError:无法读取属性' props'反应还原中未定义的

时间:2018-03-28 14:59:50

标签: react-redux

我正在使用axios在我的项目中创建一个restful api。基于服务器响应,我正在尝试发送一个动作。

restful api code

handleSubmit(e){

console.log("form submit");
e.preventDefault();
const forms=new FormData(e.target);
axios.post("http://localhost:8080/reactLogin",forms).then(res=> {
        console.log(res.data);
        this.props.loginSubmit(res.data);

}).catch(err=>console.log(err))

}

在react-redux中调度操作的代码

const mapStateProps=(state) => {
    return {
        userLogin:state.loginDetails
    }
}
const mapDispatchProps=(dispatch) => {
    return {

        loginSubmit:(data) => {
            console.log(data);
            if(data.status==1) {
                dispatch(loginSuccess(data.data[0]));
            }
            else {
                dispatch(loginFail(data))
            }
        },

        emailInputBorder:(data) => {
            dispatch(emailBorder(data));
        },
        passwordInputBorder:(data) => {
            dispatch(passwordBorder(data));
        }
    }
}
export default connect(mapStateProps,mapDispatchProps)(Login)

当我尝试在我的restful api响应中发送一个动作时,它会显示以下错误

TypeError: Cannot read property 'props' of undefined

这里的问题是什么?

1 个答案:

答案 0 :(得分:1)

如果您使用的是功能组件,则可以直接访问props,而无需使用this关键字。

直接使用props.loginSubmit等方法访问该方法。

由于我无法查看您的整个文件,因此这只是一个预先假设。如果您可以共享整个代码,将会很有帮助。