Потоковая безопасность библиотеки реагирующих шлемов и способы обработки исключений рендеринга - PullRequest
0 голосов
/ 24 июня 2019

Я пытался использовать шлем реакции для серверного приложения. https://github.com/nfl/react-helmet#server-usage

Согласно библиотеке, часть рендеринга сервера построена с использованием https://github.com/gaearon/react-side-effect

Кроме того, я увидел следующую ссылку, говорящую, что она не безопасна для асинхронной параллельной работы. https://open.nytimes.com/the-future-of-meta-tag-management-for-modern-react-development-ec26a7dc9183

Итак, я делаю синхронизацию, удаляя все асинхронные операции между ними. чтобы убедиться, что он не связывается с другими запросами.

ReactDOMServer.renderToString(<Handler />);
const helmet = Helmet.renderStatic();

Я сомневаюсь, что если ReactDOMServer.renderToString сгенерирует исключение, это повлияет на следующий запрос.

Нужно ли делать следующее?

try {
  ReactDOMServer.renderToString(<Handler />);
  const helmet = Helmet.renderStatic();
} catch(ex) {
  Helmet.renderStatic();
}

Или есть предложения получше?

Заранее спасибо.

...