2016-11-24 51 views
0

我有我的反應,本機應用程序在那裏,如果我沒有在約10觸發回調回調觸發從不開火一些奇怪的行爲,10秒後觸發迷路秒。異步回調如果在一個反應​​ - 本機應用程序

我編程引發了根組件的auth0反應天然鎖登錄模式,並尋找它的回調。如果我在約10秒內提交auth0鎖,則回調觸發,並按預期工作。但是,如果我沒有在10秒內提交登錄,鎖定屏幕將正常完成,但登錄中的回調永遠不會被觸發。

如果不是從根調用登錄,我不是從按下按鈕在App組件觸發它,它工作正常,我需要更長的時間超過10秒,觸發回調。

爲什麼異步回調消失或者如果我叫從根容器登錄操作不被觸發?

// root.js 

import React, { Component } from 'react'; 
import { createStore, combineReducers, applyMiddleware, compose } from 'redux'; 
import thunk from 'redux-thunk'; 
import { ApolloProvider } from 'react-apollo'; 

import App from './App'; 
import { client } from './client'; 
import { login } from './actions'; 
import reducers from './reducers'; 

reducers.apollo = client.reducer(); 

const store = createStore(
    combineReducers(reducers), 
    {}, 
    compose(
     applyMiddleware(client.middleware()), 
     applyMiddleware(thunk), 
), 
); 

export default class Root extends Component { 

    componentDidMount() { 
    store.dispatch(login()); 
    } 
    render() { 
    return (
     <ApolloProvider client={client} store={store}> 
     <App /> 
     </ApolloProvider> 
    ); 
    } 
} 

而我的行動應該失去回調

// actions.js 

export function login() { 
    return (dispatch) => { 
    lock.show(null, (err, profile, token) => { 
     // sometimes this callback never fires if 
     // the login window is open for more than 10 sec. 
     // then dispatch authenticated actions 
    }); 
    }; 
} 

回答

0

我遇到了同樣的問題,只是關掉調試,然後再試一次。一切正常。在

+0

禁用實時調試反應原住民 - 但這並沒有改變什麼.. – MonkeyBonkey