reactjs 使用 typescript 编写应用程序Web SDK

toe95027  于 2023-03-17  发布在  React
关注(0)|答案(1)|浏览(149)

我使用的是demo-todo-with-react,但带有类型脚本。对于api.js,创建API.tsx时,api.sdk={数据库,帐户}“类型'{数据库:数据库;帐户:“帐户;}”无法分配给类型“null”“

let api = {
  sdk: null,

  provider: () => {
    if (api.sdk) {
      return api.sdk;
    }
    let appwrite = new Appwrite();
    appwrite.setEndpoint(Server.endpoint).setProject(Server.project);
    const account = new Account(appwrite);
    const database = new Databases(appwrite);

    api.sdk = { database, account };
    return api.sdk;
  }
}

先谢了

xbp102n0

xbp102n01#

api对象添加一个自定义类型。在您的示例中,它将是这样的。

interface AnyApi {
 sdk: null | any;
 provider: () => any;
}

let api: AnyApi = {
...
}

这样就行了。
如果你想继续添加一个这样的模板。

interface AnyApi<T> {
 sdk: null | T;
 provider: () => T;
}

interface AppWriteSdk 
 database: Database;
 account: Account;
}

let api: AnyApi<AppWriteSdk>= {
...
}

相关问题