- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道 relay documentation指出 react-router v4/5 对 Relay 不好,因为它们改为动态路由,但如果你仔细观察,它总是说:
"Last updated on 2017-6-3 by Jimmy Jia"
最佳答案
我来自 future (2021 年),不幸的是,这仍然是一个问题。
然而,一个改进是 React Router 发布了一个支持预加载的实验性 v6 分支。请注意,这与不包含实验性功能的 v6 beta 分支不同。当然,因为这是实验性的,你不能假设它会稳定,所以你可能想要固定封装直到它变得稳定。
可以在此处找到有关如何使用此集成的一个很好的示例:https://github.com/Hellzed/hello-relay-react-router-experimental .如果可以,请注明(并在 github 上加星标)此示例的原作者。我将在这个答案中使用这个例子。
您可以使用以下方法安装此版本的路由器:
npm install history react-router-dom@experimental
然后,您按如下方式编写您的应用程序:
import React from "react";
import { useQueryLoader, usePreloadedQuery } from "react-relay/hooks";
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
import graphql from "babel-plugin-relay/macro";
const query = graphql`
query AppHelloQuery {
hello
}
`;
function Hello({ queryReference }) {
const data = usePreloadedQuery(query, queryReference);
return <p>{data.hello}</p>;
}
function App() {
const [queryReference, loadQuery] = useQueryLoader(query);
return (
<Router>
<Routes>
<Route
path="/"
preload={() => loadQuery()}
element={
<React.Suspense fallback="Loading...">
<Hello queryReference={queryReference} />
</React.Suspense>
}
/>
</Routes>
</Router>
);
}
基本上所有内容都与中继文档和用于路由的 react-router 文档相同,除了您添加
<Route preload={() => loadQuery()}>
,连接中继和路由器。
关于relayjs - 如何处理 Relay Modern v6/experimental 中的嵌套路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57976780/
使用 FFMPEG 将 flv 转换为 mp4 时,显示以下错误 [aac @ 0x2b4b640] The encoder 'aac' is experimental but experimenta
尝试在 IntelliJ 中构建 Kotlin/Ktor 应用程序时,出现多个表单警告 Warning:(276, 6) Kotlin: This class can only be used wit
我在 中编码C++ 在 Visual Studio (Windows 10)并收到此错误: #error The header providing std::experimental::filesy
我有一段代码使用了很多实验性的功能(when,smartmatch,given),这不是我的代码,并且我不想看到很多有关实验性功能的警告。因此,我在此代码中添加了no warnings 'experi
是否可以通过保留一个计数器来查看算法经过了多少次迭代来完成,或者是否需要记录持续时间? 最佳答案 目前接受的不会给你任何理论估计,除非你能以某种方式用一个近似它们的函数来拟合实验测量的时间。这个答案为
Kotlin 协程可以在生产中使用,它们的实验状态意味着什么? 最佳答案 更新:从 Kotlin 1.3 开始,Kotlin 协程不再是实验性的。 Kotlin 协程可以而且应该在生产环境中使用。这是
我正在使用Ubuntu 16.04。我有gcc-9.2.0,但是我在/usr/local/include/c++/9.2.0/experimental中找不到原子头文件,我想我在编译gcc时必须启用它
我想在 Android Studio 中根据口味设置我的 appName。我使用 com.android.tools.build:gradle-experimental:0.4.0 插件,所以我不能使
我想在我的 cpp 多线程代码中使用 std::experimental::barrier。但即使我写这样的代码: #include #include #include int main ()
我不是 100% 确定以下代码在语义上是正确的: #include #include int main() { std::string str = "lvalue string";
我正在尝试创建一个管道实现,该实现将公开一个接口(interface)以链接对某些给定数据的多个操作,同时保持所述数据的不变性。这里需要注意的是,操作(显然只是纯函数)应该能够改变数据的类型(例如,从
开发环境为 OS X 10.10.3, Perl -v This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thre
我试着做 github std::simd 上给出的例子但我的矢量化版本最终慢了 2-3 倍。如何正确使用? documentary缺乏认真的文档和进一步的示例用法。没有列出构造函数等。我确定我可能以
是否可以避免使用 @ExperimentalTime 注释我的代码的每一部分? ?环顾四周后,我在我的 gradle 构建中尝试了这个: withType().all { kotlinOpti
我正在尝试构建使用std::experimental::optional的项目。对于Linux,它可以很好地编译,但是对于android / ndk,编译器会抛出: error: no member
我的 Perl 程序抛出了一些警告,但我还没有在互联网上搜索解决方案。有什么方法可以重写以下代码片段,这样就不会抛出警告吗? “引用键是实验性的......”: foreach my $key ( k
我正在尝试使用 Cake-Plist 插件,但收到一个错误消息,指出动态尚未在正在使用的 Roslyn 版本中实现。然后从别人的建议中我被告知尝试 -Experimental 开关。使用开关时,我在尝
编译包含 的代码时出现错误. main.cpp 中的代码: #include int main() { } 编译这个(clang 版本是 3.9): clang++ main.cpp -o mai
我在 gcc 6.3.1 中使用实验性 std::filesystem 实现,遇到了一些关于 std::experimental::filesystem::directory_iterator #in
我使用 autobind-decorator bind 上下文到 this。 但是我得到了警告/错误 Experimental decorator usage(Decorators 是一个可能会改变的
我是一名优秀的程序员,十分优秀!