gpt4 book ai didi

reactjs - 在 typescript 类中设置未定义的属性

转载 作者:搜寻专家 更新时间:2023-10-30 21:21:17 25 4
gpt4 key购买 nike

我有一个看起来像这样的类

export class TestScreen extends Component<any, LoginScreenState> {
private wallet: Wallet;

async connect() {
this.wallet = WAL.accessContext.initWallet(getWalletProviders()[0]);
....
}

render() {
return (
<div>
<button onClick={this.connect}>Connect</button>
<br />
</div>
);
}
}

我得到以下错误

Unhandled Rejection (TypeError): Cannot set property 'wallet' of undefined

我理解该错误,但我不确定此处使用的正确模式是什么。我只想在运行 connect() 时设置该值。

我不想将对象初始化为一些垃圾,然后用以太替换它。感觉我在这里遗漏了一些明显的东西。

最佳答案

this 在 TypeScript 中可能非常棘手。 this 行为实际上来自 JavaScript,正如 @ecraig12345 在评论中指出的那样。传递方法的引用时,在某些情况下会丢失上下文。 This answer提供了很好的解释。您还可以在 TypeScript documentation 中了解更多相关信息.

对于您的情况,我建议您执行以下操作。这是一种非常常见的语法。

onClick={e => this.connect(e)}

关于reactjs - 在 typescript 类中设置未定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55201841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com