免責事項: iPhoneエミュレータatmでのみテストできます。 リアクションネイティブ0.49 Mac OSXハイシエラリアクタネイティブ制御モーダルフリーズ
親コンポーネントからその小道具を取得するモーダルを作成したいと思います。以下のように :
const Modal = ({ showModal, closeModal }) => (
<Modal
animationType="slide"
transparent={false}
visible={showModal}
onRequestClose={() => {alert("Modal has been closed.")}}
>
<View style={{marginTop: 22}}>
<Text>Hello World!</Text>
<TouchableHighlight onPress={() => closeModal() }>
<Text>Hide Modal</Text>
</TouchableHighlight>
</View>
</Modal>
);
これは、親の例である:
<View>
<Modal
showModal={this.state.showModal}
closeModal={() => this.setState({ showModal: false })}
/>
<ScrollView>
{elements.map(element => {
return (
<Card key={element.id}>
<Badge onPress={() => this.setState({ showModal: true })>
<Text>Show</Text>
</Badge>
</Card>
);
})}
</ScrollView>
</View>
私は期待通りのショーモーダルボタンモーダルポップアップ表示をクリックしますが、私はcloseModalをクリックすると、その後、モーダルが消え、再び再び表示されたらしかし、私はそれと対話することができないこの時間は、UIは、凍結されているように見える、私はエミュレータを再起動する必要があります。
React-Nativeドキュメントから直接コードをコピーして貼り付けた場合: https://facebook.github.io/react-native/docs/modal.html モーダルは問題ありません。しかしそれは自己完結型のコンポーネントです。
ご迷惑をおかけして申し訳ございません。
よろしく、 エミールあなたの親コンポーネント内部
お返事ありがとうございます。私は上記を行い、同じ動作をします。モーダルが別のものを開き、UIと対話できないためです。の変更を追加しました。 –
eGlu