@gorhom/react-native-bottom-sheet не работает на Android
Я использовал библиотеку для создания модальных окон нижнего листа для моего собственного приложения, но, похоже, он не работает на Android, но на iOS работает. Я использовал тот же компонент фона и компонент дескриптора, предложенный в документации, и все, что содержится, является поставщиком, а SafeAreaView мой package.json включает
"@gorhom/bottom-sheet": "^3.6.5",
"react-native-reanimated": "^2.0.0",
и код имеет такую структуру:
<BottomSheetModal ref={reference_settings}
index = {1}
enableOverDrag={true}
onChange = {(index) => { if(index === 0) { reference_settings.current.dismiss(); } }}
snapPoints = {[-1, '50%', '70%']}
backdropComponent={Backdrop}
handleComponent ={(props) => (<Belt {...props} />)}
style ={styles.sheet}
>
<BottomSheetView style={[styles.content]}>
<View style={{ width, height: '100%', overflow: 'hidden', backgroundColor: scheme === 'dark' ? '#000' : '#FFF', paddingHorizontal: 10 }}>
// the functions inside
</View>
</BottomSheetView>
</BottomSheetModal>
Я использовал правильную конфигурацию для babel для response-native-reanimated, включая плагин, но он появляется, и я не могу закрыть его.
2 ответа
Не забудьте обернуть свой корневой компонент приложения, как это, в файл index.js
поместите оператор импорта вверху index.js
import { gestureHandlerRootHOC } from 'react-native-gesture-handler';
import {AppRegistry} from 'react-native';
AppRegistry.registerComponent(appName, () => gestureHandlerRootHOC(App));
Я знаю, что немного поздно отвечать вам, но я хотел бы добавить для других. Предполагая, что вы уже установили
react-native-gesture-handler
вам также следует добавить несколько строк кода в файл MainActivity.java.