Реагировать только на разработку трассировки стека компонентов? - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь выучить React с Typescript и ищу совет. Мне успешно удалось заставить сборку Webpack работать для сред разработки и производства ( minified js с source-map ).

У меня есть компонент границы ошибки, реализующий метод componentDidCatch с подписью:

componentDidCatch(error: Error, info: ErrorInfo)

Мне удалось отобразить читаемую трассировку стека из минимизированного пакета и исходной картыиспользуя sourcemapped-stacktrace . Это прекрасно работает для объекта Error.

В соответствии с документацией React трассировка стека компонентов должна регистрироваться / отображаться только в среде разработки.

Соответствует ли трассировка стека компонентов свойству componentStack объекта ErrorInfo , являющегося аргументом в методе componentDidCatch ?

Если это так, рекомендуется ли для границы ошибки регистрировать / отображать только ErrorInfo.componentStack , когда для переменной среды задано значение, указывающее, что среда разработки работает?

В настоящее время я отображаю / регистрирую ErrorInfo.componentStack для разработки и производственных сборок. В производстве он отображает только минимизированную трассировку стека, несмотря на использование
пакета, такого как sourcemapped-stacktrace .

...