小编Mas*_*ano的帖子

避免使用react-router-dom v6嵌套路由重新渲染父组件

在将我的 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)

javascript reactjs react-router react-router-dom

7
推荐指数
0
解决办法
1823
查看次数

Neovim - 如何从 nvim-lspconfig + nvim-cmp 中过滤文本片段

我正在使用带有自动完成功能的 NeoVim,使用 nvim-lspconfig 和 nvim-cmp。我想知道是否有一种方法可以从自动完成菜单中过滤掉文本源,以便它们不会出现在上下文菜单中:

在此输入图像描述

neovim nvim-lspconfig

6
推荐指数
2
解决办法
2133
查看次数

Scala Future中包装的JDBC调用

我正在编写一个Akka HTTP Web API,该API使用OJDCB连接到Oracle数据库实例。

据我所知,没有异步JDBC API可以连接到数据库,也没有回调实现,因此,必须阻塞进程线程才能完成调用。

我的问题是:让Akka HTTP自然地允许使用Scala Future处理请求,将数据库调用简单地包装到Scala Future中是一个好主意吗?在等待数据库响应时基础线程是否空闲?

concurrency scala jdbc

5
推荐指数
1
解决办法
126
查看次数

F#类型的后缀关键字

据我所知,F#中的Option和List类型有一个特殊的符号。例如,Option<'a>它与写作相同'a option,因此for 'a listFSharpList<'a>

是这些特定的语言关键字,还是有一种定义自定义类型的方法,这些自定义类型可以使用“ post-fix”表示法相同list且相同option

f#

3
推荐指数
1
解决办法
63
查看次数