无法读取未定义的属性“ tenantid”

时间:2018-07-15 20:07:28

标签: javascript reactjs

我正在尝试创建一个简单的React表单以将数据提交到Webapi,但是出现此错误

('.fas fa-music')

我的代码是这样的:

Unhandled Rejection (TypeError): Cannot read property 'tenantid' of undefined
./src/containers/RegisterTenant/register.js
src/containers/RegisterTenant/register.js:13
  10 | import { adalApiFetch } from '../../adalConfig';
  11 | 
  12 | const data = {
> 13 |   TenantId: this.state.tenantid,
  14 |   TenanrUrl: this.state.tenanturl,
  15 |   TenantPassword: this.state.tenantpassword 
  16 | };

1 个答案:

答案 0 :(得分:1)

这是范围的问题。在您的示例中,this.state是未定义的,因为this指的是全局范围,如果您处于严格模式,则为undefined。需要将其移动到组件的内部 ,以便将this设置为组件的实例。您可以使用class instance property,也可以在类构造函数中移动它。

render()函数内部还有另一个问题,您需要解构this.state并获取data值,但是{{1 }}。请参阅构造函数。