我在用formik
插件reactjs
我想要useState
表单提交后的变量。
Both this
and setState
未定义,我无法实现它。
有人可以帮我完成这件事吗?
See screenshot (below)
In JavaScript
,默认情况下不绑定类方法。
如果忘记绑定this.LoginApp
并将其传递给onSubmit
, this
将undefined
当函数被实际调用时(正如您已经注意到的)。
这不是 React 特有的行为;它是 JavaScript 中函数工作方式的一部分。
一般来说,如果您引用的方法没有()
之后,例如onSubmit={this.LoginApp}
,你应该绑定该方法。为了避免性能问题,通常建议在构造函数中绑定或使用类字段语法。这是 React 团队的精彩读物 https://reactjs.org/docs/handling-events.html.
constructor(props) {
this.state = {...};
// This binding is necessary to make `this` work in the callback
this.LoginApp = this.LoginApp.bind(this);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)