Supertokens对如何使用BrowserRouter设置路由有很好的解释,但我想将它与createBrowserRouter一起使用。
现在看起来是这样:
import React from 'react';
import {
BrowserRouter,
Routes,
Route,
Link
} from "react-router-dom";
import SuperTokens, { SuperTokensWrapper, getSuperTokensRoutesForReactRouterDom } from "supertokens-auth-react";
import * as reactRouterDom from "react-router-dom";
class App extends React.Component {
render() {
return (
<SuperTokensWrapper>
<BrowserRouter>
<Routes>
{/*This renders the login UI on the /auth route*/}
{getSuperTokensRoutesForReactRouterDom(reactRouterDom)}
{/*Your app routes*/}
</Routes>
</BrowserRouter>
</SuperTokensWrapper>
);
}
}
但我需要这个
import SuperTokens, { getSuperTokensRoutesForReactRouterDom } from 'supertokens-auth-react';
import { createBrowserRouter } from 'react-router-dom';
import * as reactRouterDom from 'react-router-dom';
import Error from '../pages/Error';
import Root from '../pages/Root';
import { supertokensConfig } from '../supertokensConfig';
SuperTokens.init(supertokensConfig);
const router = createBrowserRouter([
getSuperTokensRoutesForReactRouterDom(), // ????
]);
发布于 2022-11-20 17:31:11
几个小时后,我遇到了一个discussion of the issue in 's repository,在那里我找到了如何处理我的问题的例子
对于不想展开讨论的人,只需将以下内容添加到您的代码中:
import SuperTokens, { getSuperTokensRoutesForReactRouterDom } from 'supertokens-auth-react';
import { createBrowserRouter } from 'react-router-dom';
import * as reactRouterDom from 'react-router-dom';
import { supertokensConfig } from '../supertokensConfig';
SuperTokens.init(supertokensConfig);
const router = createBrowserRouter([
...getSuperTokensRoutesForReactRouterDom(reactRouterDom).map((r) => r.props),
// Your app routes
]);
https://stackoverflow.com/questions/74508019
复制相似问题