there are modulke in my project that is called after a successful operation of money transfer. After a successful operation, I suggest that the user evaluate the app. And the app evaluation is called after each successful operation, which is a bit annoying. How do I add a "remind me later" button and implement it using async storage? thank you in advance!
import React, { Component } from 'react';
import { View } from 'react-native';
import RateModal from 'react-native-store-rating';
export default class RateAppModal extends Component {
state = {
isModalOpen: true,
};
render() {
return (
<View>
<RateModal
modalTitle="Оцените наше приложение"
rateBtnText="Оценить"
cancelBtnText="Отмена"
totalStarCount={5}
defaultStars={0}
isVisible
sendBtnText="Отправить"
commentPlaceholderText="Оставьте комментарий..."
emptyCommentErrorMessage="Empty comment error message"
playStoreUrl="market://details?id=com.smb.client.mobile"
iTunesStoreUrl="itms-apps://itunes.apple.com/app/id1497101549"
isModalOpen={this.state.isModalOpen}
storeRedirectThreshold={0}
style={{
paddingHorizontal: 30,
}}
onStarSelected={(e) => {
console.log('change rating', e);
}}
onClosed={() => {
console.log('pressed cancel button...');
this.setState({
isModalOpen: false,
});
}}
sendContactUsForm={(state) => {
alert(JSON.stringify(state));
}}
/>
</View>
);
}
}
First initialized the storage key you would use and set it to false
AsyncStorage.getItem('RemindMeLater', (err, result) => !result && AsyncStorage.setItem('RemindMeLater', false))
When the remind me later button is pressed, you can set the storage to true by
AsyncStorage.setItem('RemindMeLater', true)
Then check for the storage when u needed to display the modal again by
AsyncStorage.getItem('RemindMeLater', (err, result) => result ? this.setState({isModalOpen:true}) : null)