我正在尝试在 NextJS 应用程序中使用 RTK 查询从 API 获取多个实体。我有App
和AppVersion
型号。当组件加载时,我需要获取App
然后获取适当的AppVersion
s。AnApp
具有currentVersionId
链接到 和 的属性AppVersion
。
该代码失败,因为该组件首先在没有路由器的情况下呈现,它无法获取应用程序并且没有app.currentversionId
.
我有两个切片可以从 RESTful API 获取适当的对象。
function AppsShow() {
const router = useRouter()
const { id } = router.query
const { data: app } = useGetAppQuery(parseInt(id, 10)) // from RTK Query slice
const currentVersion = useGetVersionQuery(app?.currentVersionId) // from RTK Query slice
return (
<div></div>
)
}
Run Code Online (Sandbox Code Playgroud)
这里使用什么合适的模式?谢谢你!
在这里反应初学者。
我的代码
import Head from 'next/head';
import styles from '../styles/Home.module.css';
import { useState, useEffect } from 'react';
import Mousetrap from 'mousetrap';
export default function Home() {
const [count, setCount] = useState(0);
const triggerSomething = () => {
console.log(count);
};
useEffect(() => {
Mousetrap.bind(['ctrl+s', 'command+s'], e => {
e.preventDefault();
triggerSomething();
});
return () => {
Mousetrap.unbind(['ctrl+s', 'command+s']);
};
}, []);
return (
<div className={styles.container}>
<main className={styles.main}>
<h1 className={styles.title}>count: {count}</h1>
<p className={styles.description}>
<button onClick={() => setCount(count + 1)}>increment</button>
<br />
<br /> …
Run Code Online (Sandbox Code Playgroud)