This is documentation for the next SDK version. For up-to-date documentation, see the latest version (SDK 51).
A library that allows creating a development build and includes useful development tools.
GitHub
npm
expo-dev-client
adds various useful development tools to your debug builds:
Expo documentation refers to debug builds that include expo-dev-client
as development builds.
-Â
npx expo install expo-dev-client
If you are installing this in an existing React Native app, start by installing expo
in your project. Then, follow the additional instructions as mentioned by the library's README under "Installation in bare React Native projects" section.
You can configure development client launcher using its built-in config plugin if you use config plugins in your project (EAS Build or npx expo run:[android|ios]
). The plugin allows you to configure various properties that cannot be set at runtime and require building a new app binary to take effect.
{
"expo": {
"plugins": [
[
"expo-dev-launcher",
{
"launchMode": "most-recent"
}
]
]
}
}
Name | Default | Description |
---|---|---|
launchMode | "most-recent" | Determines whether to launch the most recently opened project or navigate to the launcher screen.
|
addGeneratedScheme | true | By default, |
import * as DevClient from 'expo-dev-client';
DevClient.closeMenu()
A method that closes development client menu when called.
void
DevClient.isDevelopmentBuild()
A method that returns a boolean to indicate if the current application is a development build.
boolean
DevClient.registerDevMenuItems(items)
Parameter | Type |
---|---|
items | ExpoDevMenuItem[] |
A method that allows to specify custom entries in the development client menu.
Promise<void>
ExpoDevMenuItem
An object representing the custom development client menu entry.
Name | Type | Description |
---|---|---|
callback | () => void | Callback to fire, when user selects an item. |
name | string | Name of the entry, will be used as label. |
shouldCollapse (optional) | boolean | A boolean specifying if the menu should close after the user interaction. Default: false |