【发布时间】:2022-02-02 15:42:12
【问题描述】:
我正在尝试制作一个新的 react 应用程序并使用我的布局优先方法呈现它,但我的屏幕上没有任何内容。这是我使用的代码--->
App.js
import React from "react";
import HomeLayoutHOC from "./HOC/Home.Hoc";
import Temp from "./Component/temp";
function App() {
return (
<>
<HomeLayoutHOC path="/" exact component={Temp}/>
</>
);
};
export default App;
然后DefaultHOC
import React from "react";
import { Route } from "react-router-dom";
import HomeLayout from "../layout/home.layout";
const HomeLayoutHOC = ({ component: Component, ...rest }) => {
return (
<>
<Route
{...rest}
component={(props) => {
<HomeLayout>
<Component {...props}/>
</HomeLayout>
}}
/>
</>
);
};
export default HomeLayoutHOC;
还有主页布局
import React from "react";
const HomeLayout = (props) => {
return (<>
home Layout
{props.children}
</>);
};
export default HomeLayout;
这是我想解决的问题,我知道这是版本问题或其他问题,所以我将在此处添加package.json -->
{
"name": "client",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/react": "^12.1.2",
"@testing-library/user-event": "^13.5.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-router-dom": "^5.3.0",
"react-scripts": "5.0.0",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"autoprefixer": "^10.4.2",
"postcss": "^8.4.5",
"tailwindcss": "^3.0.16"
}
}
请帮我解决这个问题 目标 -> 渲染 Temp 组件。在 path ="/" 中使用默认的 HOC 。并在默认布局内。按照布局优先的方法,。
【问题讨论】:
-
首先,只是指出
HomeLayoutHOC不是高阶组件,它只是一个普通的旧常规 React 组件。其次,您在哪里渲染任何路由器来处理任何路由/导航,以便您的代码可以将Route与 URL 中的路径匹配?您应该能够在HomeLayout组件内包装您想要呈现的任何路由,并完全跳过HomeLayoutHOC包装器组件。 -
是的,这就是我正在做的事情,您能否告诉我布局优先的方法以及如何制作合适的 HOC,谢谢您的帮助,请继续帮助其他人。
-
这里的目标是什么,在
HomeLayout包装器中呈现Temp组件在Route上,路径为"/"?你有其他路由和路由器吗?您能否更新您的问题以包含更完整/全面的代码示例,以便为我们提供更好的用例上下文? stackoverflow.com/help/minimal-reproducible-example -
嘿,你是对的,我是新来的,但你还是做对了,你能告诉我这里有什么问题吗?
标签: reactjs react-router react-router-dom tailwind-css