【问题标题】:React: formik form, how to use state after submit inside a callback functionReact:formik表单,如何在回调函数中提交后使用状态
【发布时间】:2020-08-03 00:51:14
【问题描述】:

我在reactjs 中使用formik 插件,我想在表单提交后useState 变量。

thissetState 都未定义,我无法实现。
有人可以帮我完成这项工作吗?

见截图(下)

【问题讨论】:

  • 您至少需要提供some 代码作为示例。有太多方法可以满足您的要求。
  • Jason 已添加,请参阅相关图片
  • 你的类中有没有设置初始状态的构造函数?
  • 不让我知道如何设置
  • 抱歉,我是 reactjs 新手,所以我不知道这些部门的详细信息

标签: reactjs react-redux formik


【解决方案1】:

JavaScript中,默认不绑定类方法。
如果忘记绑定this.LoginApp并传递给onSubmit,则在实际调用函数时this将是undefined(正如您已经指出的那样)。

这不是 React 特有的行为;它是 JavaScript 中函数工作方式的一部分。

一般情况下,如果你引用的方法后面没有(),比如onSubmit={this.LoginApp},你应该绑定那个方法。并且为了避免性能问题,通常建议在构造函数中绑定或使用类字段语法。 Here's a good read from the react team.

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

  // This binding is necessary to make `this` work in the callback
  this.LoginApp = this.LoginApp.bind(this);
}

【讨论】:

  • 感谢它解决了我的问题,现在状态可用
猜你喜欢
  • 2016-10-18
  • 1970-01-01
  • 1970-01-01
  • 2019-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-24
  • 2012-02-18
相关资源
最近更新 更多