[英]next-redux-wrapper in getServerSideProps in nextjs
I am trying to call one action function in getServerSideProps.我正在尝试在 getServerSideProps 中调用一个操作 function。 I am using typeScript.我正在使用 typeScript。
Actually, in javascript I use it only this way-实际上,在 javascript 中我只这样使用它-
import { wrapper } from "Redux/store";
import { getVideo } from "Redux/Actions/videoAction";
//Serversider data fatching
export const getServerSideProps = wrapper.getServerSideProps(
(store) =>
async (context) => {
await store.dispatch(getVideo());
}
)
But When I am trying to use it in typescript I faced some problems.但是当我尝试在 typescript 中使用它时,我遇到了一些问题。 I can solve some but One is not understanding.我可以解决一些,但一个不理解。
export const getServerSideProps = wrapper.getServerSideProps(
(store) =>
async (context) => {
await store.dispatch(getNews() as any);
}
)
Here I use getNews() as any
types.在这里,我将getNews() as any
类型。 I can't say it is right or wrong!我不能说这是对还是错!
My main problem is context and async function-我的主要问题是上下文和异步函数-
Error clearly explains it: You have to return Promise<GetServerSidePropsResult<any>>
错误清楚地解释了它:You have to return Promise<GetServerSidePropsResult<any>>
In your current function you are not returning anything.在您当前的 function 中,您没有返回任何东西。 if you annotate getSerververSideProps:如果你注释 getSerververSideProps:
import { GetServerSideProps } from "next";
export const getServerSideProps: GetServerSideProps =
wrapper.getServerSideProps(async (context) => {}
if you hover over GetServerSideProps
, its type definition如果你 hover 通过GetServerSideProps
,它的类型定义
(alias) type GetServerSideProps<P extends { [key: string]: any; } = {
[key: string]: any; }, Q extends ParsedUrlQuery = ParsedUrlQuery> =
(context: GetServerSidePropsContext<Q>) Promise<GetServerSidePropsResult<P>>
Just add return statement只需添加返回语句
return { props: { id: null } };
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.