gpt4 book ai didi

javascript - Nextjs useEffect 和 useState Hook 不适用于生产

转载 作者:行者123 更新时间:2023-12-02 01:25:15 25 4
gpt4 key购买 nike

在我的 nextjs-app 中,我使用 useEffectuseState-hooks 来获取一些数据:

export default function PricingBlock({ data }) {
const [pricingItems, setPricingItems] = useState()
const [featuredItem, setFeaturedItem] = useState()

useEffect(() => {
const getPricingItems = async () => {
const pricingItems = await request({ query: PRICING, variables: {} })
const items = await pricingItems?.allSpecialistPages
const featured = pricingItems?.specialistLandingpage?.card[0]
setPricingItems(items)
setFeaturedItem(featured)
}
getPricingItems()
}, [featuredItem, pricingItems])

return (
<div>
<div
style={{
backgroundColor: featuredItem?.backgroundColor?.hex,
backgroundImage: `url(${featuredItem?.backgroundImage?.url})`,
borderTop: '1px solid ' + featuredItem?.backgroundColor?.hex,
borderLeft: '1px solid ' + featuredItem?.backgroundColor?.hex,
borderRight: '1px solid ' + featuredItem?.backgroundColor?.hex,
}}
> ... </div>
</div>
)
}

当我在本地运行它时,它工作正常,但是当我运行 npm run build 时 - 我收到错误 Object is possibly 'undefined'. 指的是 特色项目

我也试过:

const [featuredItem, setFeaturedItem] = useState({}) - as an object

但随后出现错误 Property 'backgroundColor' does not exist on type '{}'。

我该如何解决这个问题?有人可以帮帮我吗?

最佳答案

这是由于 TypeScript 错误。这段代码:

const [featuredItem, setFeaturedItem] = useState()

没有定义featuredItem的类型,所以它没有第一个访问的属性(backgroundColor)。

要么修复它,要么在你的 next.config.js 中,临时添加以下内容:

module.exports = {
...
typescript: {
ignoreBuildErrors: true,
},
}

关于javascript - Nextjs useEffect 和 useState Hook 不适用于生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74873996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com