これは私がやろうとしていることですが、基本的にはOpen Modal
ボタンをクリックしてモーダルを開き、モーダル内のClose Modal
ボタンをクリックして閉じます。下の2つの写真は、両方のケースがどのように見えるかです。iPhoneのLayoutAnimationでモーダルが動作しない
これは私のコードです:予想通りIOSシミュレータ上で動作しているとき
export default class App extends Component {
constructor(props) {
super(props);
this.state = {
showModal: false
};
}
componentWillUpdate() {
if(PlatForm.OS === 'android') {
UIManager.setLayoutAnimationEnabledExperimental(true);
}
LayoutAnimation.easeInEaseOut();
}
render() {
return (
<View style={{ ... }}>
<TouchableOpacity onPress={() => this.setState({ showModal: true })}>
<Text style={{ ... }}>
Open Modal
</Text>
</TouchableOpacity>
<Modal visible={this.state.showModal} animationType='slide'>
<View style={{ ... }}>
<TouchableOpacity onPress={() => this.setState({ showModal: false })}>
<Text style={{ color: 'white', fontSize: 20 }}>
Close Modal
</Text>
</TouchableOpacity>
</View>
</Modal>
</View>
);
}
}
すべてが動作しますが、iPhone上で動作しているときに問題が上昇します。 Close Modal
を押すと、モーダルが0.5秒間消えてから再び開き、今度はClose Modal
ボタンが機能しません。私はモーダルを再閉じることができません。私ができるのは、プロジェクトを再構築することだけです。私はcomponentWillUpdate()
を削除する場合しかし、それは私がこれが反応ネイティブの最近のバージョンで導入されたバグであると信じて、シミュレータ上やiPhone