在将我的 React 应用程序升级到 React-router-dom v6 的过程中,我必须重构嵌套路由的处理方式。在以前版本的react-router-dom中,我设法在子组件中声明嵌套路由,这样就避免了每次应用程序中的路由更改时都重新渲染父组件。
配置可以总结为这样:
const Component = React.lazy(() => import('./path/to/Component'));
<Switch>
<Route path="..." component={Component} />
</Switch>
Run Code Online (Sandbox Code Playgroud)
然后,在组件内部:
const NestedComponent = React.lazy(() => import('./path/to/NestedComponent'));
const Component = ({match}) => {
...
<Route path={match.url} component={NestedComponent} />
...
}
Run Code Online (Sandbox Code Playgroud)
按照react-router-dom v6的升级指南,我将上面的组件重构为以下内容:
const Component = React.lazy(() => import('./path/to/Component'));
<Routes>
<Route path=".../*" element={
<React.Suspense fallback={"loading 1..."}>
<Component />
</React.Suspense>
} />
</Routes>
Run Code Online (Sandbox Code Playgroud)
然后在组件中:
const NestedComponent = React.lazy(() => import('./path/to/NestedComponent'));
const Component = ({match}) => {
...
<Routes>
<Route path={match.url} element={
<React.Suspense fallback={"loading …Run Code Online (Sandbox Code Playgroud) 我正在编写一个Akka HTTP Web API,该API使用OJDCB连接到Oracle数据库实例。
据我所知,没有异步JDBC API可以连接到数据库,也没有回调实现,因此,必须阻塞进程线程才能完成调用。
我的问题是:让Akka HTTP自然地允许使用Scala Future处理请求,将数据库调用简单地包装到Scala Future中是一个好主意吗?在等待数据库响应时基础线程是否空闲?
据我所知,F#中的Option和List类型有一个特殊的符号。例如,Option<'a>它与写作相同'a option,因此for 'a list和FSharpList<'a>。
是这些特定的语言关键字,还是有一种定义自定义类型的方法,这些自定义类型可以使用“ post-fix”表示法相同list且相同option?