Skip to main content
react-native-workers

react-native-workers

Web Worker–style multithreading for React Native

import { Worker } from '@ammarahmed/react-native-workers';

// Load worker code from its own file — it runs on another
// thread, in its own JS runtime. (Small snippets can also be
// passed inline: new Worker({ inline: '…code…' }).)
const worker = new Worker('./workers/double');

worker.onmessage = (e) => console.log(e.data); // 42
worker.postMessage(21);

Running on a device

Captures from the example app — one screen per feature, all of it runnable.

A UIWorker animating a real view at 60 fps — while the app's JS thread is blocked.
Parallel parse results: 120,000 log lines parsed by 1, 2, 4 and 8 workers in 54ms, 29ms, 18ms and 17ms — a 3.18x speedup
2.58 MB of logs across 8 nested workers over one shared buffer — 3.18× faster.
A live MKMapView with custom pins, rendered by a view manager written in JavaScript and registered from a UIWorker
A live MKMapView host component, its view manager written in JavaScript.