instagram - App remains in background. After openUrl - React Native -
hello using react native instagram oauth package , it's working fine. retrieve access_token. want navigate homescreen after retrieving token redirected loginscreen warning.
edit 2
also know error points navigationcontainer component. don't have components name. routes file. don't see problem. have added file below
loginscreen
import react, { component } 'react'; import { view, text, appstate } 'react-native'; import hr 'react-native-hr'; import rninstagramoauth 'react-native-instagram-oauth'; import { instaparameters } '../../config/insta'; import { logocomponent, statusbarcomponent, inputcomponent, buttoncomponent } '../../components'; class loginscreen extends component { loginpress() { this.props.navigation.navigate('home'); } instaloginpress() { const instapermission = new promise((resolve, reject) => { rninstagramoauth(instaparameters.clientid, instaparameters.redirecturl, (err, access_token) => { if (err) { console.log(err) } if (access_token !== undefined) { console.log(access_token); resolve(); } }); }); instapermission.then(() => this.props.navigation.navigate('home')); } render() { const { logocontainer, formcontainer, anchortext, anchor } = styles; return ( <view style={{ flex: 1 }}> <statusbarcomponent /> <view style={logocontainer}> <logocomponent height={300} width={300} /> </view> <view style={formcontainer}> <view> <inputcomponent label={'user'} keyboardtype={'email-address'} placeholder={'numu@numuworld.com'} /> <inputcomponent label={'key'} securetextentry /> </view> <view style={anchor}> <text style={[anchortext, { textalign: 'left' }]}>create new account</text> <text style={[anchortext, { textalign: 'right' }]}>forgot password</text> </view> <view> <buttoncomponent label={"login"} color={"#2980b9"} onpress={this.loginpress.bind(this)} /> <view style={{ marginbottom: 20 }}> <hr linecolor="grey" text="or" textcolor="#3498db" textstyle={{ fontsize: 20 }} /> </view> <buttoncomponent label={"login instagram"} color={"#cd486b"} onpress={this.instaloginpress.bind(this)} /> </view> </view> </view> ); } } const styles = { logocontainer: { flexgrow: 0.2, justifycontent: 'center', alignitems: 'center' }, formcontainer: { flex: 4, margin: 40, }, anchor: { marginbottom: 60, margintop: -10, flexdirection: 'row' }, anchortext: { flexgrow: 1, fontsize: 16, color: "#2980b9" } }; export { loginscreen }; navigationcontainer
import react 'react'; import { touchableopacity, touchablehighlight } 'react-native'; import icon 'react-native-vector-icons/fontawesome'; import { stacknavigator } 'react-navigation'; import { loginscreen } '../screens/auth'; import { homescreen, menuscreen, promoscreen, promotionsscreen, statsscreen, subscriptionsscreen, subscriptiondetailscreen, calendarscreen } '../screens/app'; const { headerstyle, headertitlestyle } = styles; export const authnavigator = stacknavigator({ login: { screen: loginscreen, navigationoptions: { header: null } }, home: { screen: homescreen, navigationoptions: ({ navigation }) => ({ title: 'home', headerleft:( <touchableopacity onpress={() => navigation.navigate('menu')}> <icon size={30} name="navicon" color={'white'} style={{ paddingleft: 20 }} /> </touchableopacity> ), }) }, menu: { screen: menuscreen, navigationoptions: { title:'menu', } }, promotions: { screen: promotionsscreen, navigationoptions: { title:'promotions' } }, stats: { screen: statsscreen, navigationoptions: { title:'my numu' } }, subscriptions: { screen: subscriptionsscreen, navigationoptions: { title:'subscriptions', headerright: ( <touchableopacity> <icon size={18} name="search" style={{ paddingright: 20 }} color={'white'} /> </touchableopacity> ) } }, calendar: { screen: calendarscreen, navigationoptions: { title:'calendar', } }, subscriptiondetail: { screen: subscriptiondetailscreen, navigationoptions: { title: 'subscription' } } }, { navigationoptions: ({ navigation }) => ({ headertintcolor:'white', headerstyle: headerstyle, headertitlestyle: headertitlestyle }) }); i have excluded style variable sake of shortening code.
i have used appstate api returns app running in background. don't understand why after redirected app after authorizing instagram via package.
another thing note if press login button, calls loginpress() function, after using package navigated homescreen.
edit 1
i have tried redux. able retrieve access token can't save state. think because app still in background component still not mounted. can't figure out how set appstate active.

Comments
Post a Comment