اسان داخل ڪري پيداوار جي تعمير سان سينٽرري کي جانچ ڪري سگھون ٿا:
yarn build
۽ تعمير فولڊر مان داخل ڪريو:
npx http-server -c-1
اهو مسئلو جنهن ۾ اسان فوري طور تي هلون ٿا اهو آهي ته سينٽري جي غلطي جي رڪارڊ کي مائنس ٿيل بيچ ۾ لائن نمبرن جو حوالو ڏنو ويو آهي؛ تمام مفيد نه.
سينٽري سروس هن کي وضاحت ڪري ٿي ماخذ نقشن کي ڇڪڻ کان پوءِ غلطي حاصل ڪرڻ کان پوءِ گھٽيل پيڪٽ لاءِ. انهي صورت ۾ اسان هلندا آهيون لوڪل هوسٽ (سنٽري سروس طرفان دستياب ناهي).
حل (ذريعو نقشا)
هن مسئلي جو حل عوامي ويب سرور کان ايپليڪيشن کي هلائڻ آهي. GitHub Pages سروس استعمال ڪرڻ لاءِ ھڪڙو سادو جوابي بٽڻ (مفت). استعمال ڪرڻ جا قدم عام طور تي ھيٺ ڏنل آھن:
فولڊر جي مواد کي نقل ڪريو کپن فولڊر ڏانهن Docs مخزن جي روٽ ڊاريڪٽري ۾.
هلايو گٽب صفحا مخزن ۾ (GitHub کان) ڊاڪس فولڊر کي استعمال ڪرڻ لاءِ رکن ٿا شاخون
GitHub ۾ تبديلين کي ڇڪيو
ويچاري: بعد ۾ مون کي معلوم ڪيو ته مون کي ڇا استعمال ڪرڻ جي ضرورت آهي ٺاھڻ-بنائڻ-ايپ ايپليڪيشن لانچ ڪرڻ لاءِ هوم پيج فنڪشن. هيٺ ڏنل شامل ڪرڻ لاء هيٺ آيو package.json:
يوزر انٽرفيس جي حصي ۾ جاوا اسڪرپٽ جي غلطي پوري ايپليڪيشن کي ٽوڙڻ نه گهرجي. React استعمال ڪندڙن لاءِ هن مسئلي کي حل ڪرڻ لاءِ، React 16 هڪ نئون تصور متعارف ڪرايو آهي جنهن کي "error bounds" سڏيو ويندو آهي.
نقص جون حدون React اجزاء آهن جيڪي JavaScript جي غلطين کي پڪڙيندا آهن انهن جي ٻار جي جزو جي وڻ ۾ ڪٿي به، انهن غلطين کي لاگ ان ڪريو، ۽ جزو جي وڻ جي بدران هڪ فال بيڪ UI پيش ڪيو جيڪو حادثو ٿيو. غلطي جون حدون رينڊرنگ دوران، لائف سائيڪل طريقن ۾، ۽ انھن جي ھيٺان سڄي وڻ جي ٺاھيندڙن ۾ غلطيون پڪڙينديون آھن.
...
اڻ ڄاتل غلطين لاءِ نئون رويو
هي تبديلي اهم آهي. رد عمل 16 جي طور تي، غلطيون جيڪي ڪنهن به غلطي جي حد کان نه پڪڙجي ويون آهن ان جي نتيجي ۾ سڄي رد عمل جي جزو جي وڻ کي غير نصب ڪيو ويندو.
هڪ اهم وضاحت جيڪا مون کي ڪجهه وقت وٺي وئي ان کان اڳ مون کي محسوس ڪيو ته اهو آهي مٿي ڏنل رويي صرف ڪم ڪري ٿو غلطين سان رينجر جي طريقي ۾ اڇلائي (يا وڌيڪ ممڪن آهي ڪنهن به زندگي جي طريقن ۾). مثال طور، غلطي جي حدن کي استعمال ڪندي اسان جي بٽڻ سان ڪو به سٺو نه ٿيندو مسئلو؛ ھي نقص ڪلڪ ھينڊلر ۾ ھو.
اچو ته هڪ مثال رينجرنگ غلطي ٺاهي ۽ پوء غلطي کي وڌيڪ خوبصورتي سان سنڀالڻ لاء غلطي جي حد استعمال ڪريو.
بغير ڪنهن غلطي جي حد کان سواء، سڄي جزو جي وڻ کي اڻڄاتل ڪيو ويندو
پوء اسان لکندا آهيون اسان جي غلطي جي حد جو ڪوڊ (نئين لائف سائيڪل جو طريقو استعمال ڪري ٿو componentDidCatch؛ اهو بنيادي طور تي ڊين ابراموف جي مضمون ۾ ڏنل مثال آهي:
react-app/src/ErrorBoundary.js
import React, { Component } from 'react';
import * as Sentry from '@sentry/browser';
export default class ErrorBoundary extends Component {
constructor(props) {
super(props);
this.state = { hasError: false };
}
componentDidCatch(err, info) {
this.setState({ hasError: true });
Sentry.captureException(err);
}
render() {
if (this.state.hasError) {
return <h1>Something went wrong.</h1>;
}
return this.props.children;
}
}