Можемо тестирати Сентри са производном верзијом уносом:
yarn build
и из фасцикле за изградњу унесите:
npx http-server -c-1
Проблем на који одмах наилазимо је тај што се записи о грешкама Сентри-а односе на бројеве редова у минимизираној групи; није баш корисно.
Сервис Сентри то објашњава повлачењем изворних мапа за смањени пакет након што прими грешку. У овом случају покрећемо са локалног хоста (није доступно сервису Сентри).
Решења (Мапе извора)
Решење овог проблема је покретање апликације са јавног веб сервера. Једно једноставно дугме за одговор за коришћење услуге ГитХуб Пагес (бесплатно). Кораци за коришћење су обично следећи:
Копирајте садржај фасцикле градити у фасциклу доцс у основном директоријуму спремишта.
Укључити ГитХуб странице у спремишту (са ГитХуб-а) да бисте користили фасциклу докумената у њој мајстор гране
Убаците промене на ГитХуб
Приметити: након што сам схватио шта треба да користим креирај-креирај-апликацију функцију почетне странице за покретање апликације. Дошао је до додавања следећег у пацкаге.јсон:
Овај извештај о грешци не може бити јаснији, БРАВО.
Илустрација неоткривених грешака
Исто тако, идемо кроз клик на дугме Грешка.
Са грешком која се појављује овако:
Боље руковање грешкама које нису урачунате (приказивање)
Увођење ограничења грешке
ЈаваСцрипт грешка у делу корисничког интерфејса не би требало да прекине целу апликацију. Да би решио овај проблем за Реацт кориснике, Реацт 16 уводи нови концепт под називом „границе грешке“.
Границе грешке су Реацт компоненте које хватају ЈаваСцрипт грешке било где у свом стаблу подређених компоненти, евидентирају те грешке и приказују резервни кориснички интерфејс уместо стабла компоненти које се срушило. Границе грешке хватају грешке током рендеровања, у методама животног циклуса и у конструкторима целог стабла испод њих.
...
Ново понашање за неоткривене грешке
Ова промена је значајна. Од Реацт-а 16, грешке које нису биле ухваћене ниједном границом грешке ће резултирати демонтажом целог Реацт стабла компоненти.
Важно појашњење које ми је требало времена пре него што сам схватио да је то то горенаведено понашање функционише само са грешкама баченим у методу рендеровања (или вероватније у било којој од метода животног циклуса). На пример, коришћење граница грешке не би било добро за наше дугме Грешка; ова грешка је била у обрађивачу кликова.
Хајде да направимо пример грешке у рендеровању, а затим да користимо границе грешке да бисмо грешком обрадили грациозније.