Реакция сбоя приложения после попытки перенаправления - PullRequest
0 голосов
/ 02 марта 2020

У меня есть react app(localhost:9060), который содержит iframe для другого react app(localhost:3000).

Дочернее приложение выполняет процесс входа в систему и аутентификации и возвращает токен в случае успеха. Затем я передаю токен родительскому приложению через cross-domain-messaging-with-post-message ( отметьте здесь )

Когда я получаю токен в родительском приложении. Я пытаюсь перенаправить URL на главную страницу.
С /login до /home

Внезапно в этой строке кода мое приложение вылетает, и я даже не могу ничего отладить, потому что вся вкладка получает застрял. Мне нужно завершить процесс chrome из диспетчера задач.

Родительское приложение:

import React, { useState, useEffect } from "react";
import { History } from "history";

interface Props {
  history: History;
}

export default function LoginIframe(props: Props) {
  window.onmessage = function(event: any) {
    if (typeof event.data === "string") {
      authTokenHolder.setJwt(event.data); //set the token in the local storage
      props.history.push("/home");
    }
  };

  return (
    <iframe
      id="receiver"
      src="http://localhost:3000/"
      className="stack-iframe-login"
    />
  );
}

Процесс получения токена работает нормально. Кроме того, он на самом деле правильно устанавливает токен в родительском приложении.

После сбоя моего приложения я открываю новую вкладку, и когда я go до /home, я вижу, что токен был успешно установлен, и я вошел в систему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...