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 ( +