--- tags: zeta-dom-react --- # Multiple data views There are scenarios that multiple data sources are displayed in a single page. In such cases, assign a unique ID for each data source as the first argument when using `useDataView`, such as the `DataView` object knows when to persist and restore the current view. ## Multiple views Same data source can be splitted into different views: ```typescript! function Component() { const items = [/* ... */]; const dv1 = useDataView('dv1', {}); const [pagedItems1] = dv1.getView(items); const dv2 = useDataView('dv2', {}); const [pagedItems2] = dv2.getView(items); /* ... */ } ``` ## Switching data in a single view By associating a unique ID to each data source, the switching of state associated to each data source are automatically handled. ```typescript! function Component() { const items1 = [/* ... */]; const items2 = [/* ... */]; const [tab, setTab] = useState(0); const dv = useDataView(`dv${tab}`, {}); const items = tab === 0 ? items1 : items2; const [pagedItems] = dv.getView(items); /* ... */ } ```