本文介绍了错误:[ProxyFacade]不是<;Routing&>组件。<;Routs&>的所有组件子项必须是<;Routing&>或<;React.Fragment&>;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在Reaction 17中使用&reaction-router-dom";:";6.0.2";,并且我使用的是TypeScrip。我正在尝试添加路线。但出现错误未捕获错误:[ProxyFacade]不是组件。的所有组件子项必须为或<;反应。碎片&>我不知道是什么问题。我有什么遗漏的吗?
App.tsx
import * as React from "react";
import "./index.less";
import { BrowserRouter, Route, Routes } from "react-router-dom";
import { hot } from "react-hot-loader";
import SignIn from "../sign-in";
import SignUp from "../sign-up";
const App = () => {
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<SignIn />} />
<Route path="/signup" element={<SignUp />} />
</Routes>
</BrowserRouter>
);
};
declare let module: Record<string, unknown>;
export default hot(module)(App);
登录/index.tsx
import * as React from "react";
const SignIn = () => {
return (
<React.Fragment>
<div>
<p>Sign In</p>
</div>
</React.Fragment>
);
};
export default SignIn;
注册/index.tsx
import * as React from "react";
const SignUp = () => {
return (
<React.Fragment>
<div>
<p>Sign In</p>
</div>
</React.Fragment>
);
};
export default SignUp;
推荐答案
可能与Reaction热加载程序有关。热加载器使用代理包装所有内容[因此错误中的[ProxyFacade]
]。React路由器代码可能会查看函数(组件)的类型,以验证Routes
是否具有除Route
组件之外的任何子组件。请参阅问题here。
您可以在没有热重载程序的情况下先尝试,看看您是否仍然面临这个问题。如果不这样做,则可以修复我在上面添加的链接中提到的Reaction热加载程序问题。
这篇关于错误:[ProxyFacade]不是<;Routing&>组件。<;Routs&>的所有组件子项必须是<;Routing&>或<;React.Fragment&>;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!