Skip to content

Commit 10f647f

Browse files
committed
refactor: reorganize imports and improve MenuView component structure
1 parent 7f65f9a commit 10f647f

File tree

2 files changed

+34
-9
lines changed

2 files changed

+34
-9
lines changed

example/src/App.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1+
import { useState } from 'react';
12
import {
3+
Alert,
24
SafeAreaView,
5+
ScrollView,
36
StyleSheet,
47
Text,
58
View,
6-
ScrollView,
7-
Alert,
89
} from 'react-native';
9-
import { useState } from 'react';
1010
import { MenuView } from 'react-native-menus';
1111

1212
const App = () => {

src/index.tsx

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
import React from 'react';
21
import type { ReactNode } from 'react';
3-
import NativeMenuView from './MenuViewNativeComponent';
2+
import React from 'react';
3+
import { Platform, StyleSheet, View } from 'react-native';
44
import type {
5-
MenuViewProps as NativeMenuViewProps,
65
MenuItem,
76
MenuSelectEvent,
7+
MenuViewProps as NativeMenuViewProps,
88
} from './MenuViewNativeComponent';
9+
import NativeMenuView from './MenuViewNativeComponent';
910

1011
export type { MenuItem, MenuSelectEvent };
1112

@@ -16,13 +17,37 @@ export interface MenuViewProps extends Omit<NativeMenuViewProps, 'children'> {
1617
export const MenuView = React.forwardRef<any, MenuViewProps>((props, ref) => {
1718
const { children, ...nativeProps } = props;
1819

20+
if (Platform.OS === 'ios') {
21+
return (
22+
<NativeMenuView ref={ref} {...nativeProps}>
23+
{children}
24+
</NativeMenuView>
25+
);
26+
}
27+
1928
return (
20-
<NativeMenuView ref={ref} {...nativeProps}>
21-
{children}
22-
</NativeMenuView>
29+
<View style={styles.relative}>
30+
<NativeMenuView
31+
style={[
32+
StyleSheet.absoluteFill,
33+
{
34+
zIndex: 1,
35+
},
36+
]}
37+
ref={ref}
38+
{...nativeProps}
39+
/>
40+
<View>{children}</View>
41+
</View>
2342
);
2443
});
2544

2645
MenuView.displayName = 'MenuView';
2746

47+
const styles = StyleSheet.create({
48+
relative: {
49+
position: 'relative',
50+
},
51+
});
52+
2853
export default MenuView;

0 commit comments

Comments
 (0)