首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nextjs如何在传递时声明prop类型?

Nextjs如何在传递时声明prop类型?
EN

Stack Overflow用户
提问于 2021-09-04 12:02:15
回答 1查看 96关注 0票数 0

这是我的页面

代码语言:javascript
运行
复制
import {
    InferGetServerSidePropsType,
    GetServerSideProps
} from 'next'
import ProductList from '../../component/product/ProductList'
export interface Item {
    title: string
    price: number
}
const products = ({
    data,
}: InferGetServerSidePropsType<typeof getServerSideProps>) => {
    return (
        <div>
            <ProductList data={data} />
        </div>
    )
}
export const getServerSideProps:GetServerSideProps = async (context: any) => {
    let res = await fetch('/getAllProduct', {
        method: 'get',
    })
    const response: Array<Item> = await res.json()

    return {
        props: {
            data: response,
        },
    }
}
export default products

这是我的ProductList组件

代码语言:javascript
运行
复制
import { Item } from '../../pages/products/index'
const ProductList = ({ data }: Array<Item>) => {
    const renderData = () => {
        return data.map((i,index) => {
            return <div key={index}>{i}</div>
        })
    }
    return <div></div>
}
export default ProductList

在我的ProductList组件中,我得到了错误:属性数据不存在于类型项上。

我错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-04 12:33:53

问题是您试图将一个数组分解为一个对象。

您需要将其更改为:

代码语言:javascript
运行
复制
const ProductList = ([ ...data ]: Array<Item>) => {

data将为Item[]类型

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69055090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档