【问题标题】:ReactDOM renderToStaticMarkup renders <noscript></noscript>ReactDOM renderToStaticMarkup 渲染 <noscript></noscript>
【发布时间】:2016-03-11 00:23:34
【问题描述】:

我有一个带有 React Router 的通用应用程序。

let html = ReactDOM.renderToStaticMarkup(
    <Provider store={store}>
        <RoutingContext {...renderProps} />
    </Provider>
);

以上是我的 React 标记。
当我查看我的页面源时,我看到:

<div id="app">
    <noscript></noscript>
    <div id="home">
        <h2>Home</h2>
    </div>
</div>

这是什么noscript 标签?我可以摆脱它吗?

【问题讨论】:

  • 我这样做时什么也没发生。另一种解决方案?任何人? :)
  • 我认为@KishoreVaishnav 的意思是render={true}。见github.com/facebook/react/issues/4550
  • React 或 React Redux API 中没有 render={true} 这样的东西。这只是该问题中的一个示例。
  • - 我删除了我的评论,因为我不想混淆更多。谢谢@DanAbramov

标签: node.js reactjs react-router universal


【解决方案1】:

您似乎将问题中的 Redux Router 与 React Router 混淆了。
您正在运行的代码片段是针对 React Router 的,所以我假设您正在使用它。

React 为在渲染期间返回 null 的组件渲染 &lt;noscript&gt;
会不会是在您的路由配置中,没有与该特定路由匹配的组件?
或者你的组件返回了null

没有看到完整的源代码,很难说更多。

【讨论】:

  • 嘿,丹,感谢您指导我解决问题。我发现 React-Helmet 在服务器渲染上导致了
  • @MaorBane 我想是的。最好在 React Helmet repo 中询问。
猜你喜欢
  • 2016-05-26
  • 1970-01-01
  • 2019-01-04
  • 2019-04-11
  • 2023-03-29
  • 1970-01-01
  • 2023-02-21
  • 2018-03-11
  • 1970-01-01
相关资源
最近更新 更多