Set of helpers to make your brownfield integration smooth and easy.
- Easily integrate React Native with existing native app
- Start React Native with one method and invoke code as soon as it's loaded
- Compatible with both old and new React Native architecture!
- Reuse the same instance of React Native between different components
- Use predefined native building blocks - crafted for React Native
- Disable and enable native gestures and hardware buttons from JavaScript
- Works well with any native navigation pattern, as well as every React Native JavaScript based navigation
- Compatible with all native languages Objective-C, Swift, Java and Kotlin
- Supports UIKit and SwiftUI on iOS and Fragments and Jetpack Compose on Android
npm install @callstack/react-native-brownfield
or
yarn add @callstack/react-native-brownfield
Add the following to your android/gradle.properties
:
# Enable new architecture
newArchEnabled=true
Install cocoapods with the flag:
RCT_NEW_ARCH_ENABLED=1 pod install
Note
New Architecture is enabled by default from React Native 0.76
React Native Brownfield library works with all major native programming languages. Majority of its API is exposed on the native side. Click on the logo to choose the one that interests you:
![]() Objective-C |
![]() Swift |
![]() Java |
![]() Kotlin |
---|
Besides native components, we are exposing JavaScript functions to control the behavior of those components.
To use the module, simply import it:
import ReactNativeBrownfield from '@callstack/react-native-brownfield';
setNativeBackGestureAndButtonEnabled(enabled: boolean)
A method used to toggle iOS native back gesture and Android hardware back button.
ReactNativeBrownfield.setNativeBackGestureAndButtonEnabled(true);
popToNative(animated[iOS only]: boolean)
A method to pop to native screen used to push React Native experience.
ReactNativeBrownfield.popToNative(true);
NOTE: Those methods works only with native components provided by this library.
React Native Brownfield is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. Callstack is a group of React and React Native geeks, contact us at hello@callstack.com if you need any help with these or just want to say hi!
Like the project? ⚛️ Join the team who does amazing stuff for clients and drives React Native Open Source! 🔥
Thanks goes to these wonderful people (emoji key):
Michał Chudziak 💻 📖 🤔 |
Piotr Drapich 💻 🤔 |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!