首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在react原生应用程序中,如果在10秒后触发auth0锁的异步回调,则会丢失

在react原生应用程序中,如果在10秒后触发auth0锁的异步回调,则会丢失
EN

Stack Overflow用户
提问于 2016-11-24 23:22:07
回答 1查看 45关注 0票数 0

我在我的react原生应用程序中有一些奇怪的行为,如果我在大约10秒内没有触发回调,回调触发器就永远不会触发。

我正在以编程方式触发根组件中的auth0 react-native-lock登录模式,并寻找它的回调。如果我在大约10秒内提交auth0锁,回调就会触发,它就会按预期工作。但是,如果我没有在10秒内提交登录,锁定屏幕将照常完成,但登录中的回调永远不会被触发。

如果不是从根目录调用login,而是从App组件中的按钮触发它,那么它工作得很好,并且我可以花费10秒以上的时间来触发回调。

从根容器调用login操作,为什么异步回调消失或不被触发?

代码语言:javascript
复制
// 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>
    );
  }
}

我的行动失去了回调

代码语言:javascript
复制
// 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
    });
  };
}
EN

回答 1

Stack Overflow用户

发布于 2016-11-24 23:28:05

我遇到了同样的问题,只需关闭调试器,然后重试。一切都很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40789923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档