Možemo testirati Sentry s proizvodnom verzijom unosom:
yarn build
i iz mape za izgradnju unesite:
npx http-server -c-1
Problem na koji odmah nailazimo je da se Sentryevi zapisi o pogreškama odnose na brojeve redaka u smanjenoj seriji; nije baš korisno.
Usluga Sentry to objašnjava povlačenjem mapa izvora za smanjeni paket nakon primanja pogreške. U ovom slučaju pokrećemo s lokalnog hosta (nije dostupno servisu Sentry).
Rješenja (izvorne karte)
Решение этой проблемы сводится к запуску приложения с общедоступного веб-сервера. Одна простая кнопка ответа на него, чтобы использовать сервис GitHub Pages (бесплатно). Шаги для использования обычно следующие:
Kopirajte sadržaj mape graditi u mapu docs u korijenskom direktoriju spremišta.
Upaliti GitHub stranice u repozitoriju (s GitHuba) za korištenje mape dokumenata u njoj majstor grane
Gurnite promjene na GitHub
Primijetiti: nakon što sam shvatio što trebam koristiti stvoriti-stvoriti-aplikaciju funkciju početne stranice za pokretanje aplikacije. Svelo se na dodavanje sljedećeg u package.json:
Ovo izvješće o pogrešci ne može biti jasnije, BRAVO.
Ilustracija neobjašnjenih pogrešaka
Isto tako, prođimo kroz klik gumba greška.
S pogreškom koja se pojavljuje ovako:
Bolje rukovanje neobračunatim pogreškama (renderiranje)
Uvođenje ograničenja pogreške
JavaScript pogreška u dijelu korisničkog sučelja ne bi trebala pokvariti cijelu aplikaciju. Kako bi riješio ovaj problem za korisnike Reacta, React 16 uvodi novi koncept pod nazivom "granice pogreške".
Granice pogrešaka su komponente Reacta koje hvataju JavaScript pogreške bilo gdje u svom stablu podređenih komponenti, bilježe te pogreške i renderiraju rezervno korisničko sučelje umjesto stabla komponenti koje se srušilo. Granice pogrešaka hvataju pogreške tijekom iscrtavanja, u metodama životnog ciklusa i u konstruktorima cijelog stabla ispod njih.
...
Novo ponašanje za neotkrivene pogreške
Ova promjena je značajna. Od Reacta 16, pogreške koje nisu uhvaćene nijednom granicom pogreške rezultirat će demontažom cijelog stabla komponente React.
Važno pojašnjenje za koje mi je trebalo neko vrijeme prije nego sam shvatio da je to to gornje ponašanje funkcionira samo s pogreškama koje se javljaju u metodi renderiranja (ili vjerojatnije u bilo kojoj od metoda životnog ciklusa). Na primjer, korištenje granica pogreške ne bi bilo dobro s našim gumbom greška; ova je pogreška bila u obrađivaču klikova.
Kreirajmo primjer pogreške pri prikazivanju, a zatim upotrijebimo granice pogreške kako bismo gracioznije riješili pogrešku.