首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带头盔的SSR也渲染异步元和内容?

带头盔的SSR也渲染异步元和内容?
EN

Stack Overflow用户
提问于 2018-10-12 04:06:10
回答 1查看 624关注 0票数 1

我正在尝试构建一个在将道具发送到<Helmet>之前需要获取数据的应用程序,但我不知道这是否可能,因为我在文档中没有看到类似的东西。

并且无法在头盔组件中显示此内容。内容始终为empty

Helmet组件是HtmlPage组件。在下面的代码中,我们收到了一个SEO undefined错误。

https://github.com/nfl/react-helmet/issues/409

代码语言:javascript
复制
<HtmlPage
    {...this.props.client.info.SEO}
>

    <ThemeProvider theme={this.state.theme}>
        <div className='wrapper' id='wrapper'>

            {loading && <Loading 
                client={this.state.client}
            />}

            <div className="content" id='page-wrapper'>
                <h1>Its ok for now ====</h1>

                <p>
                    {JSON.stringify(this.props.client)}
                </p>

                <div>
                    {!!this.props.client.info &&
                        <p>{JSON.stringify(this.props.client.info.SEO)}</p>} 
                </div>
            </div>
        </div>
    </ThemeProvider>
</HtmlPage>

react-helmet-async不工作。

https://github.com/staylor/react-helmet-async

EN

回答 1

Stack Overflow用户

发布于 2019-01-23 00:49:30

您需要实现第二个renderPass以允许它收集header元素。为此,我尝试了react-tree-walker,但它不起作用。最后,我使用renderToStaticMarkup添加了第二个renderPass。例如:`

代码语言:javascript
复制
const stream = renderToNodeStream(<App preloadedState={preloadedState} />);

// extra render pass
renderPass(<App preloadedState={preloadedState} />);

`

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

https://stackoverflow.com/questions/52768134

复制
相关文章

相似问题

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