Skip to content

Instantly share code, notes, and snippets.

import { Ionicons } from '@expo/vector-icons';
import { Tabs } from 'expo-router';
export default function TabLayout() {
return (
<Tabs
screenOptions={{
headerShown: false,
tabBarActiveTintColor: '#ff6600',
tabBarInactiveTintColor: '#999',
import { Ionicons } from '@expo/vector-icons';
import { Tabs } from 'expo-router';
export default function TabLayout() {
return (
<Tabs
screenOptions={{
headerShown: false,
tabBarActiveTintColor: '#ff6600',
tabBarInactiveTintColor: '#999',
import { useRouter } from 'expo-router';
import { useState } from 'react';
import {
FlatList,
SafeAreaView,
StyleSheet,
Text
} from 'react-native';
import FruitCard from '../../components/FruitCard';
import { Ionicons } from '@expo/vector-icons';
import { Tabs } from 'expo-router';
export default function TabLayout() {
return (
<Tabs
screenOptions={{
headerShown: false,
tabBarActiveTintColor: '#ff6600',
tabBarInactiveTintColor: '#999',
import React from 'react';
import { View } from 'react-native';
import CustomButton from '../../components/CustomButton';
export default function App() {
return (
<View style={{ padding: 20 }}>
<CustomButton
title="藍色按鈕"
import React, { useState } from 'react';
import {
Button,
Keyboard,
StyleSheet,
Text,
TextInput,
TouchableWithoutFeedback,
View,
} from 'react-native';
import React, { useState } from 'react';
import {
Image,
StyleSheet,
Text,
TouchableOpacity,
View,
} from 'react-native';
export default function App() {
import React, { useState } from 'react';
import { View, Text, TextInput, StyleSheet } from 'react-native';
export default function App() {
const [phone, setPhone] = useState('');
const handleChangeText = (text: string) => {
const numberOnly = text.replace(/[^0-9]/g, '');
if (numberOnly.length <= 10) {
setPhone(numberOnly);