使用带有React-rails SSR的React-Helmet

时间:2019-07-04 12:50:08

标签: reactjs webpacker react-rails react-helmet

我不了解头盔https://github.com/nfl/react-helmet#server-usage中带有React-rails gem的用户的SSR。

// App.js

import React, { Component } from 'react'
import { Helmet } from 'react-helmet'

class App extends Component {
  render () {
    return (
      <>
        <Helmet>
          <title>
            POLE
          </title>
        </Helmet>

        App
      </>
    )
  }
}

export default App

// server_rendering.js

var componentRequireContext = require.context('components', true)
var ReactRailsUJS = require('react_ujs')
ReactRailsUJS.useContext(componentRequireContext)

// layouts/application.html.slim

doctype html
html lang=I18n.locale
  head
    = javascript_pack_tag 'app', async: true
    = stylesheet_pack_tag 'app'

  body
    = react_component 'App', {}, { prerender: true }

因此,在哪里可以运行Helmet.renderStatic()来获取meta?我尝试了after_renderreact_rails_prerenderer.context.exec,但没有成功(https://github.com/reactjs/react-rails#javascript-state)。我需要类似https://github.com/shakacode/react_on_rails/blob/master/docs/additional-reading/react-helmet.md的东西,但没有react_on_rails宝石。

0 个答案:

没有答案