aws-amplify/ui-reac,登录后可以重定向

Hus*_*ein 8 reactjs react-router-dom aws-amplify

您好,我正在尝试使用 AWS-amplify 和 React-dom 登录后重定向并更改我的路径

我需要在用户登录后将它们重定向到localhost/mainmain,因为它仍然存在localhost/

如果有人有想法可以帮助我谢谢我的代码:

import React from "react";
import "./App.css";
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
import Amplify from "aws-amplify";
import {
  AmplifyAuthenticator,
  AmplifySignUp,
} from "@aws-amplify/ui-react";
import { AuthState, onAuthUIStateChange } from "@aws-amplify/ui-components";
import awsconfig from "./aws-exports";
import Main from "./main";

Amplify.configure(awsconfig);

const AuthStateApp = () => {
  const [authState, setAuthState] = React.useState();
  const [user, setUser] = React.useState();

  React.useEffect(() => {
    return onAuthUIStateChange((nextAuthState, authData) => {
      setAuthState(nextAuthState);
      setUser(authData);
    });
  }, []);

  return authState === AuthState.SignedIn && user ? (
    <Router>
      <Switch>
        <Route path="/main">
          <Main />
        </Route>
      </Switch>
    </Router>
  ) : (
    <AmplifyAuthenticator>
      <AmplifySignUp
        slot="sign-up"
        formFields={[
          { type: "username" },
          { type: "password" },
          { type: "email" },
        ]}
      />
    </AmplifyAuthenticator>
  );
};

export default AuthStateApp;
Run Code Online (Sandbox Code Playgroud)

Hus*_*ein 1

搜索此问题后,解决方案是使用AUTH.signIn()和进行自己的登录和注册设计Auth.signUp(),然后您可以重定向。