5.x to 7.x/8.x Migration Guide
Reference for migrating the Link React Native SDK from 5.x to 7.x or 8.x
Overview
This article provides a guide on how to upgrade a Plaid integration from the React Native 5.x SDK to the 7.x or 8.x SDK.
Update Android versions
In your build.gradle, you no longer need to specify the sdk-core
or okhttp3
dependencies.
- Remove
implementation 'com.plaid.link:sdk-core:3.2.0+'
- Remove
implementation 'com.squareup.okhttp3:okhttp:4.9.0+'
Update iOS versions
Update your minimum deployment target to 11 or greater:
1platform :ios, '11.0'Update your Plaid pod dependency to 2.2.2 or greater:
1pod 'Plaid', '~> 2.2.2'
Update Plaid component
The Plaid Link SDK now supports TypeScript! PlaidLink
renders a Pressable
component, which wraps the component you provide and intercepts onPress
events to open Link. Additionally, the
structure of the inputs has changed.
- Pass in all properties using the
tokenConfig
- You must not use the
oauthNonce
oroauthRedirectUri
You can use the children
prop to pass in the component that will be wrapped by PlaidLink
.
linkLogLevel
has been added as an optional parameter, which can be used to output useful debugging information.
Public key integrations
Note that tokenConfig
implementations are preferred to the deprecated publicKeyConfig
implementation.
You can migrate to a token configuration using the Link Token migration guide.
If you are using the deprecated public key integration, please be aware of these changes:
- Pass in all properties using
publicKeyConfig
:product
has been renamed toproducts
env
has been renamed toenvironment
- The
oauthStateId
prop has been removed and is no longer needed oauthNonce
andoauthRedirectUri
are now encapsulated inoauthConfiguration
component
andcomponentProps
have been removed and you may now usechildren
to pass in a component- The
payment_token
prop has been removed, so all tokens should be passed through thetoken
- Some fields are now required:
products
,language
,countryCodes
, andenvironment
Update Success, Exit and Event types
The output types for Success, Exit and Event have been unified across Android and iOS. For a full listing of changes, see the platform-specific migration guides:
Output type changes for Android
For the full API specifications, see the main docs.
(Optional) Use the usePlaidEmitter
hook
In order to get onEvent
callbacks you may now use the usePlaidEmitter
hook.
1usePlaidEmitter((event) => {2 console.log(event);3});