Когда я использую пакет response-native-modalbox с FlatList (каждый элемент списка может порождать отдельный модальный при нажатии), создаваемый модальный экран заполняет только область элемента списка вместо того, чтобы переходить в полноэкранный режим, как обычно.
Вот рабочая закуска, которая показывает проблему:
https://snack.expo.io/BkICbjwWQ
Для полноты картины я также вставлю сюда код:
import React, { Component } from 'react';
import { Text, View, StyleSheet, FlatList, Button } from 'react-native';
import { Constants } from 'expo';
import Modal from "react-native-modalbox";
// You can import from local files
import AssetExample from './components/AssetExample';
// or any pure javascript modules available in npm
import { Card } from 'react-native-elements'; // Version can be specified in package.json
export default class App extends Component {
render() {
let myRefs = [];
return (
<View style={styles.container}>
<FlatList
data={[{key: 'a'}, {key: 'b'}]}
renderItem={({item}) => <View>
<Modal
style={[styles.modal]}
ref={(modalItem) => {myRefs[item.key] = modalItem;} }
swipeToClose={true}
onClosed={this.onClose}
onOpened={this.onOpen}
onClosingState={this.onClosingState}>
<Text style={styles.text}>Basic modal</Text>
</Modal><Text>{item.key}</Text><Button title="Basic Modal" onPress={() => myRefs[item.key].open()} style={styles.btn}>Basic modal</Button></View>}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
paddingTop: Constants.statusBarHeight,
backgroundColor: '#ecf0f1',
},
});
У меня в основном тот же вопрос / проблема, что и (response-native- modalbox застрял в контексте дочернего компонента), но на этот вопрос не было ответа, и он не предоставил достаточно деталей с минимальным рабочим примером.