我不了解头盔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_render
和react_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宝石。