reactjs - 反应 loadStripe 方法不更新国家明智选择的元素形式
问题描述
我有针对不同国家/地区的不同条带帐户,因此在下拉选择中我想根据国家/地区明智选择更改条带结帐/元素形式,如图1所示
// public_key is coming from backend API according to countries dropdown selection
stripePromise = loadStripe(public_key)
因此,当我将 stripePromise 传递给条带元素时,它只会根据我从下拉列表中的第一个选择加载一次。
假设我从下拉列表中选择了英国,它显示了英国的结帐表格,如果我将国家/地区从英国更改为美国,则loadStripe 方法从未更新它的结帐表格并始终显示英国结帐表格。
那么如何根据不同的公钥重新加载我的条带元素呢?
PS:公钥总是根据国家选择更新。
PS:我正在使用 reactjs 条纹包 (@stripe/react-stripe-js": "^1.1.2")
<Elements stripe={stripePromise}>
<CheckoutForm ref={this.child} />
</Elements>
在这种情况下我该怎么办,请知道吗?
解决方案
我终于自己得到了答案。
只需在条带的 Elements 组件中传递具有唯一 id 的 key 属性,它将根据最新的条带公钥每次重新渲染。
<Elements key={unique_key_number} stripe={this.state.loadstripe_promise}>
<CheckoutForm ref={this.child} />
</Elements>
推荐阅读
- firebase - 使用firebase注册新用户并做出本机反应后,如何返回登录页面?
- vba - 如何在 VBA 中使用多个错误处理程序
- java - 插入 Json 值时出现 Spring JPA 异常(使用 hibernate-types-52)
- javascript - VueRouter this.$route 未定义
- sql - hadoop中空格后的子字符串
- ios - iOS 应用程序的新要求 - 让用户/客户可以访问它们
- c# - 来自 kinect (v1) c# 的红外流
- razor - 剃刀视图中无法识别“模型”一词
- python - 如何将大数据流式传输到 Google Cloud Storage?
- python - 当系数在 Python 中以 26 为模时,求行列式和逆矩阵