7 javascript reactjs react-query
数据来自后端,我可以在网络选项卡中看到它,但是反应查询返回未定义的数据,它甚至没有对数据做出反应,因为它在控制台中返回错误的加载和获取,并且开发工具设置为新鲜(1) 。它之前可以工作,但现在似乎无法找到解决方案。
这是我的 App.js:
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: Infinity,
cacheTime: 0,
},
},
});
function App() {
return (
<QueryClientProvider client={queryClient} contextSharing={true}>
<PrivateRoute
exact
path="/dashboard/snp/match"
component={MatchedSequences}
/>
<ReactQueryDevtools initialIsOpen />
</QueryClientProvider>
);
}
Run Code Online (Sandbox Code Playgroud)
导出默认应用程序;
这是我的组件:
const queryClient = useQueryClient();
const [showQuery, setShowQuery] = useState(false);
const [showSequence, setShowSequence] = useState(false);
const { isLoading, isFetching, error, data, status } = useQuery(
"dn",
() => {
fetch("/api/users/find").then((res) => {
return res.json();
});
},
{ keepPreviousData: false },
);
console.log({ isLoading, isFetching });
console.log("error", error);
console.log({ data });
Run Code Online (Sandbox Code Playgroud)
我正在使用反应查询版本 3.34。
TkD*_*odo 14
您的查询函数( 的第二个参数useQuery)不返回任何内容:
() => {
fetch("/api/users/find").then((res) => {
const result = res.json();
console.log({result});
return result;
});
},
Run Code Online (Sandbox Code Playgroud)
如果对箭头函数使用大括号,则需要 return 关键字:
() => {
return fetch("/api/users/find").then((res) => {
const result = res.json();
console.log({result});
return result;
});
},
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用箭头函数的隐式返回,但必须省略大括号:
() => fetch("/api/users/find").then((res) => {
const result = res.json();
console.log({result});
return result;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28250 次 |
| 最近记录: |