Лучше связать ваш обработчик событий, компонентные функции, которые совместно используют контекст класса с ключевым словом this
в конструкторе.не в вашей функции рендеринга.
constructor(props:Readonly<{}>) {
super(props);
this.state = {
success: null,
};
//... bind your methods here.
this.register = this.register.bind(this)
}
или используйте функции жирной стрелки, это автоматически связывает this
и избегает привязки в вашем рендере или в конструкторе.
public register = (values: IRegistrationForm, { setSubmitting, setFieldError }: FormikActions<IRegistrationForm>) => {
// your function body.
}
private success = () => {
this.setState({...this.state, success: true});
}
Вы можетеиспользуйте его с вашей функцией fomik
или любой другой функцией-обработчиком событий, которая должна иметь общий контекст this
.