在用户定义的函数

时间:2017-03-24 07:33:05

标签: reactjs redux redux-form

我正在使用react.js和redux-form 名为LoginForm的组件是redux-form。 当我在redux-form上提交时,将执行callBack函数loginRequest。我将登录消息发布到后端。

我遇到了问题。 我使用connect装饰来连接redux并做出反应。 在函数loginRequest中。 this.props未定义,但在render函数渲染中,this.props.postLogin已定义。

export default class Login extends  React.Component {

  constructor(props){
    super(props);
    this.state = {

    };
  }

  loginRequest = (values) => {
    this.props.postLogin(values.username, values.password);
  }

  changeAllFun = () => {
    hashHistory.push('/organizationManager')
  }

  //organizationManager
  render(){
    return (
        <div style={style.loginStyle}>
          <h1>Login</h1>
          <RaisedButton disableTouchRipple={true}
                        disabled={false} label="postLogin"
                        onTouchTap={this.changeAllFun}
                        ></RaisedButton>
          <LoginForm onSubmit={this.loginRequest} style={style.loginStyle}/>    
        </div>
    );
  }
}

我不知道解决此问题的最佳做法。

1 个答案:

答案 0 :(得分:0)

对不起this未定义当我检查React代码并使用断点来调试React代码时。 当我按下登录按钮时,执行this.props.postLogin。 我的铬骗了我。 这可能是React Developer Tools的错误。