【问题标题】:Render HTML Static Pages from ReactJS从 ReactJS 渲染 HTML 静态页面
【发布时间】:2017-12-16 14:37:09
【问题描述】:

我正在尝试使用 ReactJS 和 RoR 作为后端端点构建一个网站/网络(类似于 Airbnb)应用程序。 我的问题是我是整个 javascript 生态系统的新手,我有一些问题。 我有一个完整的 html5 静态主题(或模板),其中包含所有 css、html 文件等,我想使用 react 使一些内容动态地嵌入这个主题 html 页面,以及其他一些(比如关于页面和帮助)保持它是静态的 html 页面。 我的问题是,我可以通过 react-router 或其他一些包以某种方式从反应中添加指向我的静态页面的链接吗?还是我必须用 react 渲染所有内容并将其转换为组件? 简而言之,我可以将反应应用程序与静态 html 页面混合吗?或者一切都应该成为一个单页应用程序?

【问题讨论】:

    标签: javascript html reactjs react-router


    【解决方案1】:

    技术上你可以在 react 组件中渲染 html。 可以通过dangerouslySetInnerHTML来完成

    function createMarkup() {
      return {__html: '<h1>Some text</h1>'};
    }
    
    function MyComponent() {
      return <div dangerouslySetInnerHTML={createMarkup()} />;
    }
    

    【讨论】:

      【解决方案2】:

      react 中的所有内容都应该基于组件。 React 路由器也是基于组件的。因此,在将静态 Html 包装到反应组件中之前,您不能使用反应路由器提供静态 Html。

      【讨论】:

      • 使用服务器端渲染可以提供静态 HTML 吗?
      • React 支持服务端渲染。但是从服务器提供静态 Html 是没有意义的。
      • 好的,谢谢。所以我想我已经重写了我在组件中购买的主题的所有内容!
      • 但是如果你出于某种原因想从外部资源插入一些 html - 是的,你最好按照我在回答中提到的方式在客户端这样做。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      相关资源
      最近更新 更多