我的应用程序中有两个主要的页面“shell”。第一个shell用于“unauth”页面登录流(背景图像、材质ui纸张),第二个shell用于主仪表板(导航栏、侧边栏等)。
下面的代码是我试图简化遇到的问题的代码。有人能告诉我如何正确地实现这一点吗?
<BrowserRouter>
<Switch>
<Route component={Shell1}>
<Route path="/test1" exact component={() => <div>Test 1</div>} />
<Route path="/test2" exact component={() => <div>Test 2</div>} />
</Route>
<Route component={Shell2}>
<Route path="/test3" exact component={() => <div>Test 3</div>} />
<Route path="/test4" exact component={() => <div>Test 4</div>} />
</Route>
</Switch>
</BrowserRouter>
我从另一个StackOverflow帖子中得到了这个尝试,但是上面的代码不起作用。导航到/test1时,Shell1(只是一个表示Shell1的div)不显示,/test3/test4根本不工作。
下面是一个代码沙盒演示:https://codesandbox.io/s/react-example-362ow
提前谢谢。
基本上,您会希望嵌套这样的路由,其中父组件Road
包装子组件Road
。
以下是一些需要身份验证的示例:https://codesandbox.io/s/yqo75n896x(使用Redux状态)或https://codesandbox.io/s/5m2690nn6n(使用React状态)
工作示例:
指数js
import ReactDOM from "react-dom";
import React, { Fragment } from "react";
import { BrowserRouter, Route, Switch, Link } from "react-router-dom";
import Shell1 from "./shell1";
import Shell2 from "./shell2";
function NavBar() {
return (
<Fragment>
<Link to="/shell1/test1">Test1</Link>
<br />
<Link to="/shell1/test2">Test2</Link>
<br />
<Link to="/shell2/test3">Test3</Link>
<br />
<Link to="/shell2/test4">Test4</Link>
</Fragment>
);
}
function App() {
return (
<BrowserRouter>
<div>
<NavBar />
<Route path="/shell1" component={Shell1} />
<Route path="/shell2" component={Shell2} />
</div>
</BrowserRouter>
);
}
ReactDOM.render(<App />, document.getElementById("root"));
shell1。js
import React from "react";
import { Route, Switch } from "react-router-dom";
export default function Shell1({ match }) {
return (
<div>
<div>Shell 1</div>
<Switch>
<Route
exact
path={`${match.url}/test1`}
component={() => <div>Test 1</div>}
/>
<Route
exact
path={`${match.url}/test2`}
component={() => <div>Test 2</div>}
/>
</Switch>
</div>
);
}
谢尔2。js
import React from "react";
import { Route, Switch } from "react-router-dom";
export default function Shell2({ match }) {
return (
<div>
<div>Shell 2</div>
<Switch>
<Route
exact
path={`${match.url}/test3`}
component={() => <div>Test 3</div>}
/>
<Route
exact
path={`${match.url}/test4`}
component={() => <div>Test 4</div>}
/>
</Switch>
</div>
);
}
问题内容: 只是一个简单的问题: 如何清除外壳中的屏幕?我见过类似的方式: 这只是打开Windows cmd,清除屏幕并关闭,但是我希望清除外壳窗口 (PS:我不知道这有帮助,但是我使用的是Python 3.3.2版) 谢谢:) 问题答案: 对于macOS / OS X,您可以使用子进程模块并从外壳程序中调用“ cls”: 为了防止在窗口顶部显示“ 0”,请用以下内容替换第二行: 对于Linux,
好吧,这是一个两部分的问题,我试图最好地解释我的疑问: 代码很简单,用户不断输入成绩,程序会对其进行计数,一旦用户给出EOF条目,程序会在最后显示每个成绩的最终计数。 1) 当我运行代码时,程序会正确地跟踪我输入的每个等级的计数,但总是落在默认情况下,即使输入是正确的!为什么会这样? 2) 因此,我不完全确定“cin.get()”是如何工作的,但如果我是对的,它会接受用户输入的任何内容的第一个字符
问题内容: 每个外键上的索引都会优化查询吗? 问题答案: 通常,将索引放在外键上被认为是一种好习惯。b / c完成此操作,将FK表链接到包含键定义的表时,有助于提高连接性能。 这并不能神奇地优化您的整个查询,但是绝对可以帮助改善FK及其主键对等部分之间的联接性能。
要为Ubuntu映像启动交互式shell,我们可以运行: 但当对Alpine Docker图像运行此操作时,会产生以下结果: 在Alpine base容器中启动交互式shell的命令是什么?
问题内容: 我写了一个python程序。如果我有一个像这样的shebang: 然后使用以下命令使文件可执行: 我可以这样运行程序: 这是问题。我使用conda虚拟环境。当我运行上述程序时,系统会创建一个无法识别活动环境的子外壳: 但是如果我这样做的话… 如何指定在子Shell中使用的正确环境?可能吗?我希望省去输入六个字符串的麻烦。 另一篇文章,在conda托管环境中的Shebangs,简短地谈到
在“Linux Shell脚本编写指南”一书中 它说 扩展为 $、$2、3 等等, 扩展为 ,其中 是 的第一个字符。 $ 和 之间有什么区别, 是什么意思?