--- id: root title: Root sidebar_label: Root --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; ## `setRoot()` Used to set the UI of the application. Read more about the root hierarchy level in the [docs section](../docs/root). #### Parameters | Name | Required | Type | Description | | ------ | -------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------- | | layout | Yes | [Layout](layout-layout.mdx) | Any type of layout. [BottomTabs](layout-BottomTabs.mdx), [Stack](layout-stack.mdx), [SideMenu](layout-sideMenu.mdx), [Component](layout-component.mdx) | #### Example ```js Navigation.setRoot({ root: { stack: { children: [{ component: { name: 'example.FirstTabScreen', passProps: { text: 'This is tab 1' } } }], options: { bottomTab: { text: 'Tab 1', icon: require('../images/one.png'), testID: 'FIRST_TAB_BAR_BUTTON' } } } } }); ``` ```js Navigation.setRoot({ root: { bottomTabs: { children: [{ stack: { children: [{ component: { name: 'example.FirstTabScreen', passProps: { text: 'This is tab 1' } } }], options: { bottomTab: { text: 'Tab 1', icon: require('../images/one.png'), testID: 'FIRST_TAB_BAR_BUTTON' } } } }, { component: { name: 'navigation.playground.TextScreen', passProps: { text: 'This is tab 2' }, options: { bottomTab: { text: 'Tab 2', icon: require('../images/two.png'), testID: 'SECOND_TAB_BAR_BUTTON' } } } }] } } }); ```