簡體   English   中英

nextjs 中 getServerSideProps 中的 next-redux-wrapper

[英]next-redux-wrapper in getServerSideProps in nextjs

我正在嘗試在 getServerSideProps 中調用一個操作 function。 我正在使用 typeScript。

實際上,在 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());
    }
)

但是當我嘗試在 typescript 中使用它時,我遇到了一些問題。 我可以解決一些,但一個不理解。

export const getServerSideProps = wrapper.getServerSideProps(
  (store) =>
    async (context) => {
      await store.dispatch(getNews() as any);
    }
)

在這里,我將getNews() as any類型。 我不能說這是對還是錯!

我的主要問題是上下文和異步函數-

我實際上發現了這個錯誤- 在此處輸入圖像描述

錯誤清楚地解釋了它:You have to return Promise<GetServerSidePropsResult<any>>

在您當前的 function 中,您沒有返回任何東西。 如果你注釋 getSerververSideProps:

import { GetServerSideProps } from "next";

export const getServerSideProps: GetServerSideProps =
  wrapper.getServerSideProps(async (context) => {}

如果你 hover 通過GetServerSideProps ,它的類型定義

(alias) type GetServerSideProps<P extends { [key: string]: any; } = { 
  [key: string]: any; }, Q extends ParsedUrlQuery = ParsedUrlQuery> =
  (context: GetServerSidePropsContext<Q>) Promise<GetServerSidePropsResult<P>>

只需添加返回語句

return { props: { id: null } };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM