Peace 5 days ago
parent 9695854b49
commit 0538ab746b
  1. 16
      expo-project/App.tsx
  2. 21
      expo-project/screens/IndexPage.tsx

@ -1,20 +1,24 @@
import { StatusBar } from 'expo-status-bar'; import { StatusBar } from 'expo-status-bar';
import { StyleSheet, Text, View } from 'react-native'; import { StyleSheet, View } from 'react-native';
import { GluestackUIProvider } from '@/components/ui/gluestack-ui-provider'; import { GluestackUIProvider } from '@/components/ui/gluestack-ui-provider';
import '@/global.css'; import '@/global.css';
import { SafeAreaView } from 'react-native-safe-area-context'; import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';
import { CounterProvider } from './states/ConterProvider'; import { CounterProvider } from './states/ConterProvider';
import IndexPage from './screens/IndexPage'; import IndexPage from './screens/IndexPage';
import { HStack } from './components/ui/hstack';
import { Text } from './components/ui/text';
export default function App() { export default function App() {
return ( return (
<CounterProvider> <CounterProvider>
<GluestackUIProvider mode="light"> <GluestackUIProvider mode="light">
<SafeAreaView style={{ flex: 1 }} className="m-2"> <SafeAreaProvider>
<StatusBar style="auto" /> <SafeAreaView style={{ flex: 1 }} className="m-2">
<IndexPage /> <StatusBar style="auto" />
</SafeAreaView> <IndexPage />
</SafeAreaView>
</SafeAreaProvider>
</GluestackUIProvider> </GluestackUIProvider>
</CounterProvider> </CounterProvider>
); );

@ -5,24 +5,31 @@ import { HStack } from '@/components/ui/hstack';
import { Text } from '@/components/ui/text'; import { Text } from '@/components/ui/text';
import { VStack } from '@/components/ui/vstack'; import { VStack } from '@/components/ui/vstack';
import { useCounterDispatch, useCounterState } from '@/states/ConterProvider'; import { useCounterDispatch, useCounterState } from '@/states/ConterProvider';
import { View } from 'react-native';
export default function IndexPage() { export default function IndexPage() {
const state = useCounterState(); const state = useCounterState();
const dispatch = useCounterDispatch(); const dispatch = useCounterDispatch();
return ( return (
<Box className="flex-1 justify-center"> <Box className="flex-1 justify-center items-center">
<Center className="p-3 bg-secondary-500 h-1/2 w-1/2"> <Box className="w-64 h-64 border-secondary-600 border rounded-md p-3">
<Text className="text-lg font-semibold">Count: {state.count}</Text> <Center>
<HStack className="gap-2"> <Text className="text-lg font-semibold">Count: {state.count}</Text>
<Button className="w-[250px]" onPress={() => dispatch({ type: 'INCREMENT' })}> </Center>
<HStack className="flex-1 flex-row gap-2 justify-between">
<Button onPress={() => dispatch({ type: 'INCREMENT' })}>
<ButtonText>+</ButtonText> <ButtonText>+</ButtonText>
</Button> </Button>
<Button className="w-[150px]" onPress={() => dispatch({ type: 'DECREMENT' })}> <Button onPress={() => dispatch({ type: 'DECREMENT' })}>
<ButtonText>-</ButtonText> <ButtonText>-</ButtonText>
</Button> </Button>
</HStack> </HStack>
</Center> <HStack className="flex-row justify-between">
<Text className="text-red-600">Text1</Text>
<Text className="text-blue-600">Text2</Text>
</HStack>
</Box>
</Box> </Box>
); );
} }

Loading…
Cancel
Save