@@ -42,6 +42,29 @@ function formatKeyEvent(event) {
4242 return `${ modifierPrefix } ${ event . key } ` ;
4343}
4444
45+ function EventLog ( { eventLog, onClear} ) {
46+ return (
47+ < View testID = "keyboard_events_example_console" style = { styles . eventLogBox } >
48+ < View style = { styles . logHeaderRow } >
49+ < Text style = { styles . logHeader } > Event Log</ Text >
50+ < Pressable
51+ style = { ( { pressed} ) => [
52+ styles . clearButton ,
53+ pressed && styles . clearButtonPressed ,
54+ ] }
55+ onPress = { onClear } >
56+ < Text style = { styles . clearButtonText } > Clear</ Text >
57+ </ Pressable >
58+ </ View >
59+ { eventLog . map ( ( e , ii ) => (
60+ < Text key = { ii } style = { styles . logEntry } >
61+ { e }
62+ </ Text >
63+ ) ) }
64+ </ View >
65+ ) ;
66+ }
67+
4568function BubblingExample ( ) : React . Node {
4669 const ref = React . useRef < React . ElementRef < typeof Pressable > | null > ( null ) ;
4770 const [ eventLog , setEventLog ] = React . useState < Array < string >> ( [ ] ) ;
@@ -130,24 +153,7 @@ function BubblingExample(): React.Node {
130153 </ View >
131154 </ View >
132155
133- < View testID = "keyboard_events_example_console" style = { styles . eventLogBox } >
134- < View style = { styles . logHeaderRow } >
135- < Text style = { styles . logHeader } > Event Log</ Text >
136- < Pressable
137- style = { ( { pressed} ) => [
138- styles . clearButton ,
139- pressed && styles . clearButtonPressed ,
140- ] }
141- onPress = { ( ) => setEventLog ( [ ] ) } >
142- < Text style = { styles . clearButtonText } > Clear</ Text >
143- </ Pressable >
144- </ View >
145- { eventLog . map ( ( e , ii ) => (
146- < Text key = { ii } style = { styles . logEntry } >
147- { e }
148- </ Text >
149- ) ) }
150- </ View >
156+ < EventLog eventLog = { eventLog } onClear = { ( ) => setEventLog ( [ ] ) } />
151157 </ View >
152158 ) ;
153159}
@@ -274,24 +280,7 @@ function KeyboardEventExample(): React.Node {
274280 />
275281 </ View >
276282
277- < View testID = "keyboard_events_example_console" style = { styles . eventLogBox } >
278- < View style = { styles . logHeaderRow } >
279- < Text style = { styles . logHeader } > Event Log</ Text >
280- < Pressable
281- style = { ( { pressed} ) => [
282- styles . clearButton ,
283- pressed && styles . clearButtonPressed ,
284- ] }
285- onPress = { ( ) => setEventLog ( [ ] ) } >
286- < Text style = { styles . clearButtonText } > Clear</ Text >
287- </ Pressable >
288- </ View >
289- { eventLog . map ( ( e , ii ) => (
290- < Text key = { ii } style = { styles . logEntry } >
291- { e }
292- </ Text >
293- ) ) }
294- </ View >
283+ < EventLog eventLog = { eventLog } onClear = { ( ) => setEventLog ( [ ] ) } />
295284 </ View >
296285 ) ;
297286}
0 commit comments