Skip to main content

Storybook (React Native Only)

reactotron-react-native ships with a plugin called storybook.

This plugin, when configured properly, allows the switching to Storybook from the Reactotron interface

Configuration

The storybook plugin gets turned on automatically when you use .useReactNative(). If you don't want to use that method you can manually wire up the plugin:

Wherever you setup your Reactotron in your app, you also add the additional plugin on the import line.

import Reactotron, { storybook } from "reactotron-react-native"

Next, add it as a plugin to Reactotron.

Reactotron.configure()
.useReactNative({
storybook: true,
})
.connect()

Usage

Once the plugin is configured you have to wrap your entire app in a HOC provided by Reactotron. In addition to that Storybook requires some configuration. Here is an example:

import { getStorybookUI, configure } from '@storybook/react-native'

{...}

configure(() => {
require('../../storybook/stories') // This should point to your "root" set of stories
}, module)

const StorybookUIRoot = getStorybookUI({ port: 7007, onDeviceUI: true }) // This configuration can be changed based upon personal wants

class StorybookUIHMRRoot extends Component {
render () {
return <StorybookUIRoot />
}
}

// Assuming you have Reactotron on console.tron
export default console.tron.storybookSwitcher(StorybookUIHMRRoot)(RootContainer)