0
ユーザーがボタンをクリックしてからモーダルを表示すると、React-Nativeを使用してiPad用のアプリケーションを構築しています。Reactネイティブアプリケーションが応答しなくなる/状態変更時にクラッシュする
モーダルの開始ライフが隠されている場合、親コンポーネントはstate
ブール変数を設定して、モーダルを表示するかどうかを決定します。
ここに私のコードは、まだ使用されていないインポートを無視してください。
import React, { Component } from "react";
import { StyleSheet, View, Modal, Text, Button } from "react-native";
const PopupModal = props => {
console.log(props);
return (
<Modal transparent={true} visible={props.visible}>
<View
style={{
backgroundColor: "rgba(0,0,0,.5)",
flex: 1,
justifyContent: "center",
alignItems: "center"
}}
>
<View
style={{
height: 386,
width: 355,
backgroundColor: "#FFF",
borderRadius: 10,
}}
>
<Button onPress={() => {}} title="Save" />
</View>
</View>
</Modal>
)
}
export default PopupModal;
はここで、親コンポーネント
class Home extends Component {
constructor() {
super();
this.state = {
videos: [],
offset: {
y: 0,
x: 0
},
showPopupModal: false,
selectedVideo: {
id: null,
reflectiveStatement: null,
}
};
}
editStatement = (id, reflectiveStatement) => {
this.setState({
showPopupModal: true,
selectedVideo: {
id,
reflectiveStatement,
}
})
}
render() {
return (<PopupModal visible={this.state.showPopupModal} />
}
}
export default Home;
this.state.showPopupModal
はtrue
かfalse
のいずれかであるだが、毎回私は、ボタンの火災にeditStatement
自分のアプリケーションがフリーズをクリックしてください。