Comments (6)
Hello @gregjopa sorry for not providing the example right away, I was in the middle of the investigation, and just thought about it.
What we actually could do is say to the users to:
If you run the `resetOptions` inside a `useEffect` call, you must add an if statement inside to check if the previous script was already resolved, because this can cause a race-condition and make the call not very reliable.
from react-paypal-js.
Hi @pedroapfilho can you provide a full example of the problem? Perhaps you can update the Storybook Currency example to demostrate the issue: https://paypal.github.io/react-paypal-js/iframe.html?id=example-usepaypalscriptreducer--currency&viewMode=story.
from react-paypal-js.
The other thing that comes to mind is to add a check to make sure the script is finished loading before dispatching the resetOptions
action. I'm wondering if the problem is the script is still loading when you try to dispatch this event so it doesn't get picked up properly because of this code: https://github.com/paypal/react-paypal-js/blob/main/src/ScriptContext.tsx#L101
If so, adding this check should resolve the issue.
if (isResolved && selectedCurrency !== defaultCurrency) {
paypalDispatch({
type: "resetOptions",
value: {
...options,
currency: selectedCurrency,
},
});
}
from react-paypal-js.
I'll create an example on the storybook today, stay tuned for the PR.
from react-paypal-js.
Do you think this feature request would help your use case with setting currency later on after defining the Script Provider? #89.
from react-paypal-js.
Yes and no.
It could help if we wanted to lazy load the component until we have the currency figured out, or we can basically trigger it after isResolved
, just like you added on your comment.
from react-paypal-js.
Related Issues (20)
- [BUG]: Broken link to dynamic currency example HOT 7
- [BUG]: Paypal subscription button - Popup not closing and onApprove not triggered HOT 9
- [BUG]: Sometimes can't get subscription details after successful approve HOT 11
- [BUG]: URGENT // After payment we don't get Subscription details HOT 3
- [BUG]: onApprove sometimes is not triggered after successful order transaction HOT 6
- [BUG]: Paypal subscription button - shows error but still charges the user HOT 5
- [BUG]: HOW TO SET LANGUAJE FOR PayPalMessages HOT 2
- [BUG]: Graphql CreateUpgradedLowScopeAccessToken pending forever HOT 2
- [BUG]: Unexpected redirect after card from autocomplete HOT 3
- [DOCS]: Typing and Documentation Issues with onShippingAddressChange HOT 3
- [BUG]: options inside `usePayPalScriptReducer` are still in kebab-case format" HOT 3
- [BUG]: PayPalHostedFieldsProvider does not support vault token creation HOT 4
- [BUG]: npm installs 0.0.1-security security holding package HOT 7
- [BUG]: Advanced Checkout React Integration fails to render with successful token from generateClientToken; throws Braintree Integration error HOT 2
- [FEATURE]: Ability to change the focus indicator style HOT 2
- [BUG]: PayPalScriptProvider does not accept @dataClientToken param; throws BraintreeError: Authorization is invalid. HOT 2
- [FEATURE]: Disable shipping form HOT 4
- [FEATURE]: how do i set a free 7-day trial? HOT 2
- [BUG]: popup_open_error_iframe_fallback HOT 1
- [BUG]: Permission Denied Error when Accessing Order Details with facilitatorAccessToken HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-paypal-js.