Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
QueueIt
✓ import { QueueIt } from 'react-native-queue-it'
✗ import QueueIt from 'react-native-queue-it'
QueueIt is a named export, not default.
EnqueueResultState
✓ import { EnqueueResultState } from 'react-native-queue-it'
✗ import { EnqueueResultStates } from 'react-native-queue-it'
Correct spelling is EnqueueResultState (singular).
EnqueueResult
✓ import { EnqueueResult } from 'react-native-queue-it'
✗ const { EnqueueResult } = require('react-native-queue-it')
Module is ESM; require is not recommended and may not work in all bundlers.
Demonstrates the three enqueue methods (run, runWithEnqueueKey, runWithEnqueueToken) and handling of the four possible result states.
import { QueueIt, EnqueueResultState, EnqueueResult } from 'react-native-queue-it';
async function enqueueUser(clientId: string, eventOrAlias: string, enqueueKey?: string, enqueueToken?: string) {
try {
QueueIt.once('openingQueueView', () => {
console.log('Queue view opened');
});
QueueIt.once('webViewClosed', () => {
console.log('User closed the queue view');
});
let enqueueResult: EnqueueResult;
if (enqueueKey) {
enqueueResult = await QueueIt.runWithEnqueueKey(clientId, eventOrAlias, enqueueKey);
} else if (enqueueToken) {
enqueueResult = await QueueIt.runWithEnqueueToken(clientId, eventOrAlias, enqueueToken);
} else {
enqueueResult = await QueueIt.run(clientId, eventOrAlias);
}
switch (enqueueResult.State) {
case EnqueueResultState.Disabled:
console.log('Queue disabled, token:', enqueueResult.QueueITToken);
break;
case EnqueueResultState.Passed:
console.log('User passed queue, token:', enqueueResult.QueueITToken);
break;
case EnqueueResultState.Unavailable:
console.log('Queue unavailable');
break;
case EnqueueResultState.RestartedSession:
console.log('Session restarted, re-enqueueing...');
await enqueueUser(clientId, eventOrAlias, enqueueKey, enqueueToken);
}
return enqueueResult.QueueITToken;
} catch (error) {
console.error('Enqueue error:', error);
}
}
Errors
Common errors & fixes
TypeError: Cannot read property 'State' of undefined
Using default import of QueueIt instead of named import, resulting in undefined.
fixCorrect import: import { QueueIt } from 'react-native-queue-it' Error: You have not registered QueueActivity in your AndroidManifest.xml
Android requires adding QueueActivity for queue view.
fixAdd <activity android:name="com.queue_it.androidsdk.QueueActivity"/> to AndroidManifest.xml
Invariant Violation: Native module QueueIt is not available
Missing pod install for iOS or link for React Native <= 0.59.
fixRun `cd ios && pod install` for iOS; for older RN, `react-native link react-native-queue-it`
Audit
Dependencies
react-nativerequiredpeer dependency required for native modules