打字稿这个参考

时间:2017-03-22 10:04:52

标签: typescript

我正在尝试从头开始将js react类文件重写为tsx,但是甚至无法通过构造函数

我基本上是在调用Auth0 webAuth

export default class Login extends React.Component<LoginProps, {}> {
    constructor() {
      super();
      this.webAuth = new auth0.WebAuth({
        clientID: '****************',
        domain: '******.eu.auth0.com',
        responseType: 'token id_token',
        redirectUri: `${window.location.origin}/login`
      })
    }

但这只是提出了一个

Property 'webAuth' does not exist on type 'Login'.

有趣的是,根据Typescript doc,这应该是这样做的方法。我确保导入auth0。我错过了什么 ? TS中的this和JS不一样吗?

1 个答案:

答案 0 :(得分:1)

在使用之前,您必须定义 webAuth 属性。

export default class Login extends React.Component<LoginProps, {}> {
    private webAuth: auth0.WebAuth;

    constructor() {
      super();
      this.webAuth = new auth0.WebAuth({
        clientID: '****************',
        domain: '******.eu.auth0.com',
        responseType: 'token id_token',
        redirectUri: `${window.location.origin}/login`
      })
    }

您可以在typescript here中阅读有关课程的更多信息。