LoginPage называет AuthForm и структура выглядитРеагировать не срабатывает функция в компоненте
function mapDispatchToProps(dispatch: Redux.Dispatch<any>) {
return {
signUpWithEmail: function(email: string, password: string) {
// bla bla
},
};
}
handleFormSignUpWithEmail(event: React.FormEvent) {
event.preventDefault();
console.log("handleFormSignUpWithEmail is fired");
this.props.signUpWithEmail(this.props.email,this.props.password);
}
render() {
return (
<AuthForm onSignUpWithEmail {this.handleFormSignUpWithEmail.bind(this) } /> );
}
};
в AuthForm
export interface AuthFormProps {
onSignUpWithEmail?: (event: React.FormEvent) => void;
}
render() {
return (
<button className="mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-effect mdl-pull-right"
onClick={this.onSignUpWithEmail.bind(this)}>
Submit
</button>
Это прекрасно работает, но когда я добавляю еще одну функцию, как это, он прекращает стрельбу onSignUpWithEmail
comparePass()
{
this.props.onSignUpWithEmail.bind(this);
}
render() {
return (
<button className="mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-effect mdl-pull-right"
onClick={this.comparePass.bind(this)}>
Submit
</button>
}
почему comparePass, не может стрелять onSignUpWithEmail
? , причина, по которой я не делаю этого на странице входа, потому что позже могу использовать authfrom.
Любые предложения по исправлению этого вопроса?
Попробуйте изменить 'this.props.onSignUpWithEmail.apply (это),' 'в this.props .onSignUpWithEmail.bind (this); ' –
жаль, что это уже' this.props.onSignUpWithEmail.bind (это) 'Я забыл изменить его, я пытался вызвать его с помощью приложения или вызова также –
Устраняется ли comparePass? попробуйте сделать console.log() из этой функции и посмотреть, будет ли ее вызов, было бы намного лучше, если бы у вас был пример настройки где-то. –