如何使用next.js

时间:2019-05-13 22:10:40

标签: reactjs next.js

我需要从给定端点的静态HTML渲染横幅。我创建了一个React组件,该组件给定HTML字符串,呈现内容,RenderHtml是名称。我需要显示5条横幅广告,以显示如何从5个不同的URL获取内容。为此,我创建了一个新组件,该组件提供了一个URL,获取内容,然后呈现RenderHtml组件,让我们将此组件调用Banner,这样我就可以对所有横幅重复使用同一组件(至少是这个主意)。

我正在使用Next.js,第一个想法是获取getInitialProps中的URL内容,但是问题是我将需要创建html道具来返回{{1 }}功能

getInitialProps

这是我的第一种方法,但是没有用,因为我需要从另一个道具生成一个道具(我不知道该怎么做,我不喜欢用两个道具和一个道具创建组件的想法。其中的一个会从另一个中生成。

第二种方法是在Banner.getInitialProps = async () => { const bannerUrl = ...//need to get it from props; const { data } = await fetch(bannerUrl); return { html: data // need this prop to call RenderHtml component }; } 钩子中获取HTML。

useEffect

并以... const [html, setHtml] = useState(); useEffect(async () => { const bannerUrl = ...//from props; const { data } = await fetch(bannerUrl); setHtml(data) }); 状态调用RenderHtml组件。这产生了休闲的错误:

html我建议进行Can't perform a React state update on an unmounted component.操作。 知道如何解决这个问题吗?

0 个答案:

没有答案