Как заставить шлем вставлять заголовок и метаданные при использовании SSR - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь настроить Helmet npm с помощью SSR в моем метеорном приложении, и я не уверен, что мне нужно сделать, чтобы заголовок страницы и метаданные появлялись на моей домашней странице.Там нет никаких ошибок, однако, я новичок в использовании SSR, поэтому я не понимаю, что мне здесь не хватает.Очень нееееет вопрос.

Путь: server/main.js

import React from "react";
import PropTypes from 'prop-types';
import { onPageLoad } from "meteor/server-render";
import { renderToNodeStream } from "react-dom/server";
import { ServerStyleSheet } from "styled-components"
import Helmet from 'react-helmet';  

import App from "/imports/server/app/App";

onPageLoad(sink => {
  const sheet = new ServerStyleSheet();
  const appJSX = sheet.collectStyles(
    <App location={sink.request.url} />
  );

  App.propTypes = {
    location: PropTypes.object,
  };


  const htmlStream = sheet.interleaveWithNodeStream(
    renderToNodeStream(appJSX)
    );

  sink.renderIntoElementById("react-root-app", htmlStream);

  const helmet = Helmet.renderStatic();
  sink.appendToHead(helmet.meta.toString());
  sink.appendToHead(helmet.title.toString());

});

Путь: client/hompage.jsx

import Helmet from 'react-helmet';

const Home = () => (
  <div>
    <Helmet>
        <title>Homepage</title>
        <meta name="description" content="This is homepage. Just Helmet SSR demo" />
        <meta property="og:title" content="This is homepage. Just Helmet SSR demo for OG" />
      </Helmet>
    <h1>Home</h1>
  </div>
);
...