Use the Fintoc widget within your React Native application as a WebView
Fintoc React Native
Use the Fintoc widget within your React Native application as a WebView.
Installation
Install using npm! (or your favourite package manager)
# Using npm
npm install @fintoc/fintoc-react-native
# Using yarn
yarn add @fintoc/fintoc-react-native
Usage
Fintoc React Native
exports a single component called FintocWidgetWebView
. This is a React Native component that creates the same WebView from the native WebView documentation. To use the WebView, use the following snippet:
import { FintocWebView } from 'fintoc-react-native';
After retrieving the FintocWebView
component, you are ready to instantiate the widget:
const options = { ... };
const handlers = {
onSuccess: () => {
console.log('SUCCESS');
},
onExit: () => {
console.log('EXIT');
},
};
export default function FintocWidgetScreen() {
return (
<View>
<FintocWebView options={options} handlers={handlers} />
</View>
);
}
Here, options
corresponds to an object with the parameters received by the widget (you can read more about these parameters here), and handlers
corresponds to an object with the WebView redirections detailed here.
Notice that on close the WebView must be unmounted. This is because the widget won’t re-open if the WebView isn’t re-rendered, so I would recommend unmounting the component on the onClose
method of the WebView.
TypeScript support
This package includes TypeScript declarations for the Fintoc WebView.
Developing
To develop the package, you need to use npm
. Install the dependencies:
npm install
To test locally, I recommend packaging the app:
npm pack
This will create a fintoc-react-native-0.3.1.tgz
file (with the corresponding package version). Now, go to another directory and create a React Native app (using Expo, perhaps). After createing the new application, add the following dependency to its package.json
file:
{
"dependencies": {
...,
"fintoc-react-native": "file:./path/to/fintoc-react-native-0.3.1.tgz",
...
}
}
Where ./path/to/fintoc-react-native-0.3.1.tgz
corresponds to the path to the .tgz
file created on the npm pack
step.
If you want to create a new release, you can run:
git switch master
npm run bump! <major|minor|patch>
This will create a new branch with the updated version from master
.
Acknowledgements
This implementation was written based on the input and experience of @marialuisaclaro integrating the WebView to React Native, which served as a good starting point for the general idea of this library.