gpt4 book ai didi

javascript - 如何在状态更改时强制重新加载react-recaptcha(语言更新)

转载 作者:行者123 更新时间:2023-12-03 08:59:42 25 4
gpt4 key购买 nike

当我获得新的 current_lang 时,我想在状态更改时重新加载 reCaptcha 小部件。

我使用了componentDidUpdate

componentDidUpdate() {
if (this.recaptchaInstance) {
this.recaptchaInstance.reset();
}
}

看起来像是重新渲染组件,但语言保持不变?

这是我的组件

<Recaptcha
ref={e => (this.recaptchaInstance = e)}
sitekey="using_it_just_didnt_copy_it_here"
size="normal"
render="explicit"
hl={language.current_lang}
onloadCallback={this.onloadRecaptcha}
/>

有人可以指出我正确的方向吗?谢谢!

最佳答案

也许您需要重新安装Recaptcha,而不仅仅是重新渲染它。您应该使用 key 属性强制重新挂载:

constructor() {
super();
this.key = 0;
}

componentDidUpdate() {
if (this.recaptchaInstance) {
this.key++;
}
}

<Recaptcha
key={this.key}
ref={e => (this.recaptchaInstance = e)}
sitekey="using_it_just_didnt_copy_it_here"
size="normal"
render="explicit"
hl={language.current_lang}
onloadCallback={this.onloadRecaptcha}
/>

关于javascript - 如何在状态更改时强制重新加载react-recaptcha(语言更新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51635652/

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