我想在屏幕上按下按鈕的同一頁面中使用兩種模式。他們應該依次顯示和隱藏。首先,我需要顯示isModalVisibleConnection
模態,然後它應該被關閉,並且應該顯示另一個模態(isModalVisible
模態)。最後,isModalVisible
模式也應該關閉,應用程序應該被重定向到另一個屏幕。我的代碼下面的按鈕:使用Modal時出現「警告:只能更新已安裝或掛載的組件」
onPress() {
this.setState({ isModalVisibleConnection: true ,isModalVisibleMain: true});
LIB.requestAccess().then((response) => {
console.log("responsexxxx exit part",response);
if(response.requestCode==1)
{
this.setState({ isModalVisibleConnection: false , isModalVisible: true});
//////Wait for 10 seconds and Redirecting
if(this.timer > 0) return;
this.timer = setTimeout(() => {
//turn off the pop up
this.props.navigation.navigate('ParkInBuilding', {user: this.state.passedProps.user, positionState:this.state.passedProps.positionState, parkingState: this.state.passedProps.parkingState, activeSection: 'ParkNewError_0'});
this.timer = null; //not necessary if you are unmounting the component
}, 10000);
}
else {
console.log("something wrong!!",response.requestMessage);
Alert.alert(
'Error',
response.requestMessage ,
[
//{text: 'Ask me later', onPress:() => console.log('Ask me later pressed')},
{text: 'OK', onPress:() => this.setState({ isModalVisibleMain: false, isModalVisible: false, isModalVisibleConnection: false })},
//{text: 'OK', onPress:() => console.log('OK Pressed')},
],
{ cancelable: false }
)
}
console.log("responesssssssssss Exit",response);
});
}
在我用下面的方式渲染模式把情態動詞:
<Modal isVisible={this.state.isModalVisibleMain}>
<Modal isVisible={this.state.isModalVisible}>
<View style={styles.timerContainer}>
<Text style={styles.orangeTextBold}>Si prega di passare il{"\n"} cancello di uscita.{"\n"}
<Text style={styles.itemBold}>{"\n"} </Text>
<Text style={styles.itemBold}>Arrivederci e grazie per aver utilizzato il nostro servizio.{"\n"}
</Text> </Text>
<Text style={styles.itemBold}> </Text>
<CountdownCircle
seconds={10}
radius={40}
borderWidth={8}
color="#FABB00"
bgColor="#fff"
textStyle={{ fontSize: 30 }}
onTimeElapsed={() => console.log('Elapsed!')}
/>
</View>
</Modal>
<View isVisible={this.state.isModalVisibleConnection}>
<View style={styles.loader}>
<Text style={styles.ComOrangeTextBold}>{I18n.t('Comunicazione')}</Text>
<Text style={styles.ComOrangeTextBold}></Text>
<View>
<Bars size={30} color="#FABB00" />
</View>
</View>
</View>
</Modal>
我有一個主模式(isModalVisibleMain
),其他情態動詞是在裏面。第二種模式也是作爲一個視圖。我應該提到,當我以不同的方式使用模態(分別使用模態)時,第二模態不會在IOS中顯示。這是該應用以合適的方式顯示兩種模式的唯一方式。 的問題是,當我重定向到下一個屏幕,它讓我看到以下警告:
警告:只能更新安裝或安裝組件。這通常意味着 你叫設定狀態,更換 卸載的組件狀態或強制更新...
的它,因爲鎖定我的應用程序的一些倍。你有什麼想法,我該如何處理這種戰爭? (如果您需要更多代碼或信息,請在帖子後面提及)謝謝