import { NewAppScreen } from '@react-native/new-app-screen' import { useEffect, useState } from 'react' import { StatusBar, Text, StyleSheet, useColorScheme, ScrollView } from 'react-native' import { NativeEventEmitter, NativeModules } from 'react-native' const { Emitter } = NativeModules import { requireNativeComponent } from 'react-native' import type { StyleProp, ViewStyle } from 'react-native' type CustomButtonProps = { style?: StyleProp } const CustomButton = requireNativeComponent('CustomButton') const BaseButton = requireNativeComponent('BaseButton') export default function App() { const isDarkMode = useColorScheme() === 'dark' const [message, setMessage] = useState(null) const [color, setColor] = useState("#FFF") useEffect(() => { const emitter = new NativeEventEmitter(Emitter); const subscription = emitter.addListener('onMessage', (event) => { if (event?.message) { setMessage(event.message) if (event?.message == "hello from Swift!") { setColor("#00F") } } }) return () => { subscription.remove() }; }, []) return ( {message ?? 'Waiting for message...'} ); } const styles = StyleSheet.create({ container: { flex: 1, }, })