React Native

Native Modules & Bridge

Native modules, Turbo Modules, JSI, bridging iOS/Android, third-party modules

20 interview questions·
Mid-Level
1

What is a native module in React Native?

Answer

A native module is a piece of code written in native language (Objective-C/Swift for iOS, Java/Kotlin for Android) that exposes functionalities to JavaScript code. This allows accessing native APIs not directly available in React Native, such as biometric sensors or Bluetooth.

2

What is the role of the bridge in React Native's traditional architecture?

Answer

The bridge is the communication mechanism between the JavaScript thread and native threads in the traditional architecture. It serializes data to JSON to transfer it asynchronously between both environments. This asynchronous communication can create latency for frequent operations.

3

How to expose a native method to JavaScript on iOS with the old architecture?

Answer

On iOS with the old architecture, you need to create a class that inherits from NSObject and implements the RCTBridgeModule protocol. The RCT_EXPORT_MODULE() macro registers the module, and RCT_EXPORT_METHOD() exposes each method to JavaScript. These macros generate the necessary bridging code.

4

Which annotation to use to expose a native method on Android with the old architecture?

5

What is JSI (JavaScript Interface) in React Native's new architecture?

+17 interview questions

Master React Native for your next interview

Access all questions, flashcards, technical tests, code review exercises and interview simulators.

Start for free