Как получить асинхронные данные из компонента, используя шлем? - PullRequest
0 голосов
/ 07 ноября 2019

Я хочу создавать динамические метатеги в своем приложении React. Я использую шлем и у меня проблема, потому что он пуст после вызова Helmet.renderStatic (). Мой файл index.js:

const store = createStore(rootReducer);

ReactDOM.render(<Provider store={store}><App /></Provider>,
  document.getElementById('root') as HTMLElement
);

const helmet = Helmet.renderStatic();
console.log('meta', helmet.meta.toString());

registerServiceWorker();

и мой компонент выглядит так:

  public render() {
    const { article } = this.state;
    return (
      <div className="article-published">
          <Helmet>
            <meta charSet="utf-8" />
             <meta property="og:title" content={article.title} />
          </Helmet>

Проблема в том, что я вызываю API для получения статьи, поэтому, когда я получаю шлем в моей статье index.js, ее еще нет, так что мой шлем.metaне имеет содержимого.

Как заставить его ждать получения статьи от API, чтобы использовать ее в заголовке?

...