diff --git a/example/App.tsx b/example/App.tsx
index 6ea3b65a..70c65496 100644
--- a/example/App.tsx
+++ b/example/App.tsx
@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/
-import React, { useCallback, useState } from 'react';
+import React, { useCallback, useMemo, useState } from 'react';
import {
Button,
Keyboard,
@@ -15,52 +15,42 @@ import {
TouchableOpacity,
View,
} from 'react-native';
-import BasicExample from './examples/Basic';
+import Basic from './examples/Basic';
+import Functional from './examples/Functional';
import GetSetClear from './examples/GetSetClear';
import MergeItem from './examples/MergeItem';
-const TESTS = {
- GetSetClear: {
- title: 'Simple Get/Set value',
- testId: 'get-set-clear',
- description: 'Store and retrieve persisted data',
- render() {
- return ;
- },
- },
- MergeItem: {
- title: 'Merge item',
- testId: 'merge-item',
- description: 'Merge object with already stored data',
- render() {
- return ;
- },
- },
- Basic: {
- title: 'Basic',
- testId: 'basic',
- description: 'Basic functionality test',
- render() {
- return ;
- },
- },
+const SCREENS = {
+ Functional,
+ GetSetClear,
+ MergeItem,
+ Basic,
};
export default function App(): JSX.Element {
const [iteration, setIteration] = useState(0);
- const [currentTest, setCurrentTest] = useState(TESTS.GetSetClear);
+ const [currentTest, setCurrentTest] = useState(SCREENS.Functional);
- const dismissKeyboard = useCallback(() => Keyboard.dismiss(), []);
+ const dismissKeyboard = useCallback(Keyboard.dismiss, []);
const simulateRestart = useCallback(
() => setIteration(iteration + 1),
[iteration]
);
- const testBasic = useCallback(() => setCurrentTest(TESTS.Basic), []);
- const testGetSetClear = useCallback(
- () => setCurrentTest(TESTS.GetSetClear),
+ const navigationBar = useMemo(
+ () =>
+ Object.values(SCREENS).map((t) => {
+ const { testId, title } = t;
+ return (
+