ಕನ್ನಡ

ರಿಯಾಕ್ಟ್ ಎರರ್ ಬೌಂಡರೀಸ್ ಅನ್ನು ಅಪ್ಲಿಕೇಶನ್ ಕ್ರ್ಯಾಶ್‌ಗಳನ್ನು ತಡೆಯಲು ಮತ್ತು ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಹೆಚ್ಚಿಸಲು ಹೇಗೆ ಬಳಸುವುದೆಂದು ತಿಳಿಯಿರಿ. ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು ಮತ್ತು ನೈಜ-ಪ್ರಪಂಚದ ಉದಾಹರಣೆಗಳನ್ನು ಅನ್ವೇಷಿಸಿ.

ರಿಯಾಕ್ಟ್ ಎರರ್ ಬೌಂಡರೀಸ್: ದೃಢವಾದ ಎರರ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್‌ಗೆ ಒಂದು ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿ

ಆಧುನಿಕ ವೆಬ್ ಡೆವಲಪ್‌ಮೆಂಟ್ ಜಗತ್ತಿನಲ್ಲಿ, ಸುಗಮ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಬಳಕೆದಾರರ ಅನುಭವವು ಅತ್ಯಂತ ಮುಖ್ಯವಾಗಿದೆ. ಒಂದೇ ಒಂದು ನಿರ್ವಹಿಸದ ಎರರ್ ಸಂಪೂರ್ಣ ರಿಯಾಕ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಕ್ರ್ಯಾಶ್ ಮಾಡಬಹುದು, ಇದರಿಂದ ಬಳಕೆದಾರರು ನಿರಾಶೆಗೊಳ್ಳುತ್ತಾರೆ ಮತ್ತು ಸಂಭಾವ್ಯವಾಗಿ ಅಮೂಲ್ಯವಾದ ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳಬಹುದು. ರಿಯಾಕ್ಟ್ ಎರರ್ ಬೌಂಡರೀಸ್ ಈ ಎರರ್‌ಗಳನ್ನು ಸರಾಗವಾಗಿ ನಿರ್ವಹಿಸಲು, ಗಂಭೀರ ಕ್ರ್ಯಾಶ್‌ಗಳನ್ನು ತಡೆಯಲು ಮತ್ತು ಹೆಚ್ಚು ಸ್ಥಿತಿಸ್ಥಾಪಕ ಮತ್ತು ಬಳಕೆದಾರ-ಸ್ನೇಹಿ ಅನುಭವವನ್ನು ನೀಡಲು ಒಂದು ಶಕ್ತಿಯುತ ವ್ಯವಸ್ಥೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಈ ಮಾರ್ಗದರ್ಶಿ ರಿಯಾಕ್ಟ್ ಎರರ್ ಬೌಂಡರೀಸ್‌ನ ಸಮಗ್ರ ಅವಲೋಕನವನ್ನು ನೀಡುತ್ತದೆ, ಅವುಗಳ ಉದ್ದೇಶ, ಅಳವಡಿಕೆ, ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು ಮತ್ತು ಸುಧಾರಿತ ತಂತ್ರಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

ರಿಯಾಕ್ಟ್ ಎರರ್ ಬೌಂಡರೀಸ್ ಎಂದರೇನು?

ಎರರ್ ಬೌಂಡರೀಸ್ ಎಂದರೆ ರಿಯಾಕ್ಟ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳು. ಅವು ತಮ್ಮ ಚೈಲ್ಡ್ ಕಾಂಪೊನೆಂಟ್ ಟ್ರೀಯಲ್ಲಿ ಎಲ್ಲಿಯಾದರೂ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಎರರ್‌ಗಳನ್ನು ಹಿಡಿದು, ಆ ಎರರ್‌ಗಳನ್ನು ಲಾಗ್ ಮಾಡಿ, ಮತ್ತು ಕ್ರ್ಯಾಶ್ ಆದ ಕಾಂಪೊನೆಂಟ್ ಟ್ರೀಯ ಬದಲಿಗೆ ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತವೆ. ಅವು ಒಂದು ಸುರಕ್ಷತಾ ಜಾಲದಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಅಪ್ಲಿಕೇಶನ್‌ನ ಒಂದು ಭಾಗದಲ್ಲಿನ ಎರರ್‌ಗಳು ಸಂಪೂರ್ಣ UI ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವುದನ್ನು ತಡೆಯುತ್ತವೆ. ರಿಯಾಕ್ಟ್ 16 ರಲ್ಲಿ ಪರಿಚಯಿಸಲಾದ ಎರರ್ ಬೌಂಡರೀಸ್, ಹಿಂದಿನ, ಕಡಿಮೆ ದೃಢವಾದ ಎರರ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಬದಲಾಯಿಸಿದವು.

ಎರರ್ ಬೌಂಡರೀಸ್ ಅನ್ನು try...catch ಬ್ಲಾಕ್‌ಗಳೆಂದು ರಿಯಾಕ್ಟ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳಿಗಾಗಿ ಯೋಚಿಸಿ. ಆದಾಗ್ಯೂ, try...catch ನಂತೆ ಅಲ್ಲದೆ, ಇವು ಕಾಂಪೊನೆಂಟ್‌ಗಳಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ, ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ನಾದ್ಯಂತ ಎರರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಘೋಷಣಾತ್ಮಕ ಮತ್ತು ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತವೆ.

ಎರರ್ ಬೌಂಡರೀಸ್ ಅನ್ನು ಏಕೆ ಬಳಸಬೇಕು?

ಎರರ್ ಬೌಂಡರೀಸ್ ಹಲವಾರು ನಿರ್ಣಾಯಕ ಪ್ರಯೋಜನಗಳನ್ನು ನೀಡುತ್ತವೆ:

ಎರರ್ ಬೌಂಡರಿ ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ರಚಿಸುವುದು

ಎರರ್ ಬೌಂಡರಿ ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ರಚಿಸಲು, ನೀವು ಈ ಕೆಳಗಿನ ಒಂದು ಅಥವಾ ಎರಡೂ ಲೈಫ್‌ಸೈಕಲ್ ಮೆಥಡ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕ್ಲಾಸ್ ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ಡಿಫೈನ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ:

ಇಲ್ಲಿ ಎರರ್ ಬೌಂಡರಿ ಕಾಂಪೊನೆಂಟ್‌ನ ಒಂದು ಮೂಲಭೂತ ಉದಾಹರಣೆ ಇದೆ:


class ErrorBoundary extends React.Component {
  constructor(props) {
    super(props);
    this.state = { hasError: false };
  }

  static getDerivedStateFromError(error) {
    // ಸ್ಟೇಟ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಿ, ಇದರಿಂದ ಮುಂದಿನ ರೆಂಡರ್ ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ತೋರಿಸುತ್ತದೆ.
    return { hasError: true };
  }

  componentDidCatch(error, info) {
    // ಉದಾಹರಣೆ "componentStack":
    //   in ComponentThatThrows (created by App)
    //   in App
    console.error("Caught an error: ", error, info.componentStack);
    // ನೀವು ಎರರ್ ಅನ್ನು ಎರರ್ ರಿಪೋರ್ಟಿಂಗ್ ಸೇವೆಗೆ ಲಾಗ್ ಮಾಡಬಹುದು
    // logErrorToMyService(error, info.componentStack);
  }

  render() {
    if (this.state.hasError) {
      // ನೀವು ಯಾವುದೇ ಕಸ್ಟಮ್ ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ರೆಂಡರ್ ಮಾಡಬಹುದು
      return 

ಏನೋ ತಪ್ಪಾಗಿದೆ.

; } return this.props.children; } }

ವಿವರಣೆ:

ಎರರ್ ಬೌಂಡರೀಸ್ ಬಳಸುವುದು

ಎರರ್ ಬೌಂಡರಿ ಬಳಸಲು, ನೀವು ರಕ್ಷಿಸಲು ಬಯಸುವ ಕಾಂಪೊನೆಂಟ್ ಅಥವಾ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ErrorBoundary ಕಾಂಪೊನೆಂಟ್‌ನೊಂದಿಗೆ ಸರಳವಾಗಿ ಸುತ್ತುವರಿಯಿರಿ:



  


ಒಂದು ವೇಳೆ ComponentThatMightThrow ಎರರ್ ಅನ್ನು ಎಸೆದರೆ, ErrorBoundary ಎರರ್ ಅನ್ನು ಹಿಡಿಯುತ್ತದೆ, ಅದರ ಸ್ಟೇಟ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದರ ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ರೆಂಡರ್ ಮಾಡುತ್ತದೆ. ಅಪ್ಲಿಕೇಶನ್‌ನ ಉಳಿದ ಭಾಗಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತವೆ.

ಎರರ್ ಬೌಂಡರಿ ಪ್ಲೇಸ್‌ಮೆಂಟ್

ಪರಿಣಾಮಕಾರಿ ಎರರ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್‌ಗಾಗಿ ಎರರ್ ಬೌಂಡರಿಗಳ ಪ್ಲೇಸ್‌ಮೆಂಟ್ ನಿರ್ಣಾಯಕವಾಗಿದೆ. ಈ ತಂತ್ರಗಳನ್ನು ಪರಿಗಣಿಸಿ:

ಉದಾಹರಣೆ:


function App() {
  return (
    
); }

ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ಅಪ್ಲಿಕೇಶನ್‌ನ ಪ್ರತಿಯೊಂದು ಪ್ರಮುಖ ವಿಭಾಗವನ್ನು (Header, Sidebar, ContentArea, Footer) ಎರರ್ ಬೌಂಡರಿಯೊಂದಿಗೆ ಸುತ್ತುವರಿಯಲಾಗಿದೆ. ಇದು ಪ್ರತಿಯೊಂದು ವಿಭಾಗವು ಸ್ವತಂತ್ರವಾಗಿ ಎರರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಒಂದೇ ಎರರ್ ಸಂಪೂರ್ಣ ಅಪ್ಲಿಕೇಶನ್‌ನ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದನ್ನು ತಡೆಯುತ್ತದೆ.

ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡುವುದು

ಎರರ್ ಬೌಂಡರಿಯಿಂದ ಪ್ರದರ್ಶಿಸಲಾದ ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಮಾಹಿತಿಯುಕ್ತ ಮತ್ತು ಬಳಕೆದಾರ-ಸ್ನೇಹಿಯಾಗಿರಬೇಕು. ಈ ಮಾರ್ಗಸೂಚಿಗಳನ್ನು ಪರಿಗಣಿಸಿ:

ಉದಾಹರಣೆ:


class ErrorBoundary extends React.Component {
  constructor(props) {
    super(props);
    this.state = { hasError: false };
  }

  static getDerivedStateFromError(error) {
    // ಸ್ಟೇಟ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಿ, ಇದರಿಂದ ಮುಂದಿನ ರೆಂಡರ್ ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ತೋರಿಸುತ್ತದೆ.
    return { hasError: true };
  }

  componentDidCatch(error, info) {
    // ನೀವು ಎರರ್ ಅನ್ನು ಎರರ್ ರಿಪೋರ್ಟಿಂಗ್ ಸೇವೆಗೆ ಲಾಗ್ ಮಾಡಬಹುದು
    console.error("Caught an error: ", error, info.componentStack);
  }

  render() {
    if (this.state.hasError) {
      // ನೀವು ಯಾವುದೇ ಕಸ್ಟಮ್ ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ರೆಂಡರ್ ಮಾಡಬಹುದು
      return (
        

ಅಯ್ಯೋ! ಏನೋ ತಪ್ಪಾಗಿದೆ.

ಕ್ಷಮಿಸಿ, ಈ ವಿಷಯವನ್ನು ಪ್ರದರ್ಶಿಸಲು ಪ್ರಯತ್ನಿಸುವಾಗ ಎರರ್ ಸಂಭವಿಸಿದೆ.

ದಯವಿಟ್ಟು ಪುಟವನ್ನು ರಿಫ್ರೆಶ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ ಅಥವಾ ಸಮಸ್ಯೆ ಮುಂದುವರಿದರೆ ಬೆಂಬಲವನ್ನು ಸಂಪರ್ಕಿಸಿ.

ಬೆಂಬಲವನ್ನು ಸಂಪರ್ಕಿಸಿ
); } return this.props.children; } }

ಈ ಉದಾಹರಣೆಯು ಸ್ಪಷ್ಟವಾದ ಎರರ್ ಸಂದೇಶ, ಸೂಚಿಸಲಾದ ಪರಿಹಾರಗಳು, ಮತ್ತು ಪುಟವನ್ನು ರಿಫ್ರೆಶ್ ಮಾಡಲು ಮತ್ತು ಬೆಂಬಲವನ್ನು ಸಂಪರ್ಕಿಸಲು ಲಿಂಕ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಹೆಚ್ಚು ಮಾಹಿತಿಯುಕ್ತ ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.

ವಿವಿಧ ರೀತಿಯ ಎರರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು

ಎರರ್ ಬೌಂಡರೀಸ್ ರೆಂಡರಿಂಗ್ ಸಮಯದಲ್ಲಿ, ಲೈಫ್‌ಸೈಕಲ್ ಮೆಥಡ್‌ಗಳಲ್ಲಿ, ಮತ್ತು ಅವುಗಳ ಕೆಳಗಿನ ಸಂಪೂರ್ಣ ಟ್ರೀಯ ಕನ್ಸ್ಟ್ರಕ್ಟರ್‌ಗಳಲ್ಲಿ ಸಂಭವಿಸುವ ಎರರ್‌ಗಳನ್ನು ಹಿಡಿಯುತ್ತವೆ. ಅವು ಈ ಕೆಳಗಿನವುಗಳಿಗೆ ಎರರ್‌ಗಳನ್ನು ಹಿಡಿಯುವುದಿಲ್ಲ:

ಈ ರೀತಿಯ ಎರರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು, ನೀವು ವಿಭಿನ್ನ ತಂತ್ರಗಳನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ.

ಈವೆಂಟ್ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳು

ಈವೆಂಟ್ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳಲ್ಲಿ ಸಂಭವಿಸುವ ಎರರ್‌ಗಳಿಗಾಗಿ, ಪ್ರಮಾಣಿತ try...catch ಬ್ಲಾಕ್ ಬಳಸಿ:


function MyComponent() {
  const handleClick = () => {
    try {
      // ಎರರ್ ಎಸೆಯಬಹುದಾದ ಕೋಡ್
      throw new Error("ಈವೆಂಟ್ ಹ್ಯಾಂಡ್ಲರ್‌ನಲ್ಲಿ ಏನೋ ತಪ್ಪಾಗಿದೆ");
    } catch (error) {
      console.error("ಈವೆಂಟ್ ಹ್ಯಾಂಡ್ಲರ್‌ನಲ್ಲಿ ಎರರ್: ", error);
      // ಎರರ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ (ಉದಾ., ಎರರ್ ಸಂದೇಶವನ್ನು ಪ್ರದರ್ಶಿಸಿ)
      alert("ಒಂದು ಎರರ್ ಸಂಭವಿಸಿದೆ. ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.");
    }
  };

  return ;
}

ಅಸಿಂಕ್ರೋನಸ್ ಕೋಡ್

ಅಸಿಂಕ್ರೋನಸ್ ಕೋಡ್‌ನಲ್ಲಿ ಸಂಭವಿಸುವ ಎರರ್‌ಗಳಿಗಾಗಿ, ಅಸಿಂಕ್ರೋನಸ್ ಫಂಕ್ಷನ್‌ನೊಳಗೆ try...catch ಬ್ಲಾಕ್‌ಗಳನ್ನು ಬಳಸಿ:


function MyComponent() {
  useEffect(() => {
    async function fetchData() {
      try {
        const response = await fetch("https://api.example.com/data");
        const data = await response.json();
        // ಡೇಟಾವನ್ನು ಪ್ರೊಸೆಸ್ ಮಾಡಿ
        console.log(data);
      } catch (error) {
        console.error("ಡೇಟಾ ಪಡೆಯುವಲ್ಲಿ ಎರರ್: ", error);
        // ಎರರ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ (ಉದಾ., ಎರರ್ ಸಂದೇಶವನ್ನು ಪ್ರದರ್ಶಿಸಿ)
        alert("ಡೇಟಾ ಪಡೆಯಲು ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.");
      } 
    }

    fetchData();
  }, []);

  return 
ಡೇಟಾ ಲೋಡ್ ಆಗುತ್ತಿದೆ...
; }

ಪರ್ಯಾಯವಾಗಿ, ನಿರ್ವಹಿಸದ ಪ್ರಾಮಿಸ್ ರಿಜೆಕ್ಷನ್‌ಗಳಿಗಾಗಿ ನೀವು ಗ್ಲೋಬಲ್ ಎರರ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸಬಹುದು:


window.addEventListener('unhandledrejection', function(event) {
  console.error('Unhandled rejection (promise: ', event.promise, ', reason: ', event.reason, ');');
  // ಐಚ್ಛಿಕವಾಗಿ ಗ್ಲೋಬಲ್ ಎರರ್ ಸಂದೇಶವನ್ನು ಪ್ರದರ್ಶಿಸಿ ಅಥವಾ ಎರರ್ ಅನ್ನು ಸೇವೆಗೆ ಲಾಗ್ ಮಾಡಿ
  alert("ಅನಿರೀಕ್ಷಿತ ಎರರ್ ಸಂಭವಿಸಿದೆ. ದಯವಿಟ್ಟು ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.");
});

ಸುಧಾರಿತ ಎರರ್ ಬೌಂಡರಿ ತಂತ್ರಗಳು

ಎರರ್ ಬೌಂಡರಿಯನ್ನು ಮರುಹೊಂದಿಸುವುದು

ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ಬಳಕೆದಾರರಿಗೆ ಎರರ್ ಬೌಂಡರಿಯನ್ನು ಮರುಹೊಂದಿಸಲು ಮತ್ತು ಎರರ್‌ಗೆ ಕಾರಣವಾದ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಮರುಪ್ರಯತ್ನಿಸಲು ಒಂದು ಮಾರ್ಗವನ್ನು ಒದಗಿಸಲು ನೀವು ಬಯಸಬಹುದು. ನೆಟ್‌ವರ್ಕ್ ಸಮಸ್ಯೆಯಂತಹ ತಾತ್ಕಾಲಿಕ ಸಮಸ್ಯೆಯಿಂದ ಎರರ್ ಉಂಟಾಗಿದ್ದರೆ ಇದು ಉಪಯುಕ್ತವಾಗಬಹುದು.

ಎರರ್ ಬೌಂಡರಿಯನ್ನು ಮರುಹೊಂದಿಸಲು, ನೀವು Redux ಅಥವಾ Context ನಂತಹ ಸ್ಟೇಟ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಿ ಎರರ್ ಸ್ಟೇಟ್ ಅನ್ನು ನಿರ್ವಹಿಸಬಹುದು ಮತ್ತು ಮರುಹೊಂದಿಸುವ ಫಂಕ್ಷನ್ ಅನ್ನು ಒದಗಿಸಬಹುದು. ಪರ್ಯಾಯವಾಗಿ, ಎರರ್ ಬೌಂಡರಿಯನ್ನು ರಿಮೌಂಟ್ ಮಾಡಲು ಒತ್ತಾಯಿಸುವ ಮೂಲಕ ನೀವು ಸರಳವಾದ ವಿಧಾನವನ್ನು ಬಳಸಬಹುದು.

ಉದಾಹರಣೆ (ರಿಮೌಂಟ್ ಮಾಡಲು ಒತ್ತಾಯಿಸುವುದು):


class ErrorBoundary extends React.Component {
  constructor(props) {
    super(props);
    this.state = { hasError: false, errorCount: 0, key: 0 };
  }

  static getDerivedStateFromError(error) {
    // ಸ್ಟೇಟ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಿ, ಇದರಿಂದ ಮುಂದಿನ ರೆಂಡರ್ ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ತೋರಿಸುತ್ತದೆ.
    return { hasError: true };
  }

  componentDidCatch(error, info) {
    // ನೀವು ಎರರ್ ಅನ್ನು ಎರರ್ ರಿಪೋರ್ಟಿಂಗ್ ಸೇವೆಗೆ ಲಾಗ್ ಮಾಡಬಹುದು
    console.error("Caught an error: ", error, info.componentStack);
    this.setState(prevState => ({ errorCount: prevState.errorCount + 1 }));
  }

  resetError = () => {
      this.setState({hasError: false, key: this.state.key + 1})
  }

  render() {
    if (this.state.hasError) {
      // ನೀವು ಯಾವುದೇ ಕಸ್ಟಮ್ ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ರೆಂಡರ್ ಮಾಡಬಹುದು
      return (
        

ಅಯ್ಯೋ! ಏನೋ ತಪ್ಪಾಗಿದೆ.

ಕ್ಷಮಿಸಿ, ಈ ವಿಷಯವನ್ನು ಪ್ರದರ್ಶಿಸಲು ಪ್ರಯತ್ನಿಸುವಾಗ ಎರರ್ ಸಂಭವಿಸಿದೆ.

); } return
{this.props.children}
; } }

ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ಸುತ್ತುವರಿದ div ಗೆ 'key' ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಕೀಯನ್ನು ಬದಲಾಯಿಸುವುದು ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ರಿಮೌಂಟ್ ಮಾಡಲು ಒತ್ತಾಯಿಸುತ್ತದೆ, ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಎರರ್ ಸ್ಟೇಟ್ ಅನ್ನು ತೆರವುಗೊಳಿಸುತ್ತದೆ. `resetError` ಮೆಥಡ್ ಕಾಂಪೊನೆಂಟ್‌ನ `key` ಸ್ಟೇಟ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡುತ್ತದೆ, ಇದರಿಂದ ಕಾಂಪೊನೆಂಟ್ ರಿಮೌಂಟ್ ಆಗುತ್ತದೆ ಮತ್ತು ಅದರ ಚಿಲ್ಡ್ರನ್‌ಗಳನ್ನು ಮರು-ರೆಂಡರ್ ಮಾಡುತ್ತದೆ.

ಸಸ್ಪೆನ್ಸ್‌ನೊಂದಿಗೆ ಎರರ್ ಬೌಂಡರಿಗಳನ್ನು ಬಳಸುವುದು

ರಿಯಾಕ್ಟ್ ಸಸ್ಪೆನ್ಸ್ ಒಂದು ಕಾಂಪೊನೆಂಟ್‌ನ ರೆಂಡರಿಂಗ್ ಅನ್ನು ಕೆಲವು ಷರತ್ತುಗಳನ್ನು ಪೂರೈಸುವವರೆಗೆ (ಉದಾ., ಡೇಟಾ ಪಡೆಯುವವರೆಗೆ) "ಸಸ್ಪೆಂಡ್" ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಅಸಿಂಕ್ರೋನಸ್ ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಹೆಚ್ಚು ದೃಢವಾದ ಎರರ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್ ಅನುಭವವನ್ನು ಒದಗಿಸಲು ನೀವು ಎರರ್ ಬೌಂಡರಿಗಳನ್ನು ಸಸ್ಪೆನ್ಸ್‌ನೊಂದಿಗೆ ಸಂಯೋಜಿಸಬಹುದು.


import React, { Suspense } from 'react';

function MyComponent() {
  return (
    
      ಲೋಡ್ ಆಗುತ್ತಿದೆ...
}> ); } function DataFetchingComponent() { const data = useData(); // ಅಸಿಂಕ್ರೋನಸ್ ಆಗಿ ಡೇಟಾ ಪಡೆಯುವ ಕಸ್ಟಮ್ ಹುಕ್ return
{data.value}
; }

ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, DataFetchingComponent ಕಸ್ಟಮ್ ಹುಕ್ ಬಳಸಿ ಅಸಿಂಕ್ರೋನಸ್ ಆಗಿ ಡೇಟಾವನ್ನು ಪಡೆಯುತ್ತದೆ. Suspense ಕಾಂಪೊನೆಂಟ್ ಡೇಟಾ ಪಡೆಯುವಾಗ ಲೋಡಿಂಗ್ ಸೂಚಕವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ಡೇಟಾ ಪಡೆಯುವ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಎರರ್ ಸಂಭವಿಸಿದರೆ, ErrorBoundary ಎರರ್ ಅನ್ನು ಹಿಡಿಯುತ್ತದೆ ಮತ್ತು ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.

ರಿಯಾಕ್ಟ್ ಎರರ್ ಬೌಂಡರೀಸ್‌ಗಾಗಿ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು

ನೈಜ-ಪ್ರಪಂಚದ ಉದಾಹರಣೆಗಳು

ಎರರ್ ಬೌಂಡರಿಗಳನ್ನು ಹೇಗೆ ಬಳಸಬಹುದು ಎಂಬುದಕ್ಕೆ ಕೆಲವು ನೈಜ-ಪ್ರಪಂಚದ ಉದಾಹರಣೆಗಳು ಇಲ್ಲಿವೆ:

ಎರರ್ ಬೌಂಡರಿಗಳಿಗೆ ಪರ್ಯಾಯಗಳು

ರಿಯಾಕ್ಟ್‌ನಲ್ಲಿ ಎರರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಎರರ್ ಬೌಂಡರಿಗಳು ಶಿಫಾರಸು ಮಾಡಲಾದ ಮಾರ್ಗವಾಗಿದ್ದರೂ, ನೀವು ಪರಿಗಣಿಸಬಹುದಾದ ಕೆಲವು ಪರ್ಯಾಯ ವಿಧಾನಗಳಿವೆ. ಆದಾಗ್ಯೂ, ಈ ಪರ್ಯಾಯಗಳು ಅಪ್ಲಿಕೇಶನ್ ಕ್ರ್ಯಾಶ್‌ಗಳನ್ನು ತಡೆಗಟ್ಟುವಲ್ಲಿ ಮತ್ತು ಸುಗಮ ಬಳಕೆದಾರ ಅನುಭವವನ್ನು ಒದಗಿಸುವಲ್ಲಿ ಎರರ್ ಬೌಂಡರಿಗಳಷ್ಟು ಪರಿಣಾಮಕಾರಿಯಾಗಿಲ್ಲದಿರಬಹುದು ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ.

ಅಂತಿಮವಾಗಿ, ಎರರ್ ಬೌಂಡರಿಗಳು ರಿಯಾಕ್ಟ್‌ನಲ್ಲಿ ಎರರ್ ನಿರ್ವಹಣೆಗೆ ದೃಢವಾದ ಮತ್ತು ಪ್ರಮಾಣೀಕೃತ ವಿಧಾನವನ್ನು ಒದಗಿಸುತ್ತವೆ, ಇದು ಹೆಚ್ಚಿನ ಬಳಕೆಯ ಸಂದರ್ಭಗಳಲ್ಲಿ ಆದ್ಯತೆಯ ಆಯ್ಕೆಯಾಗಿದೆ.

ತೀರ್ಮಾನ

ರಿಯಾಕ್ಟ್ ಎರರ್ ಬೌಂಡರಿಗಳು ದೃಢವಾದ ಮತ್ತು ಬಳಕೆದಾರ-ಸ್ನೇಹಿ ರಿಯಾಕ್ಟ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಅತ್ಯಗತ್ಯ ಸಾಧನವಾಗಿದೆ. ಎರರ್‌ಗಳನ್ನು ಹಿಡಿದು ಫಾಲ್‌ಬ್ಯಾಕ್ UI ಗಳನ್ನು ಪ್ರದರ್ಶಿಸುವ ಮೂಲಕ, ಅವು ಅಪ್ಲಿಕೇಶನ್ ಕ್ರ್ಯಾಶ್‌ಗಳನ್ನು ತಡೆಯುತ್ತವೆ, ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಸುಧಾರಿಸುತ್ತವೆ ಮತ್ತು ಎರರ್ ಡೀಬಗ್ಗಿಂಗ್ ಅನ್ನು ಸರಳಗೊಳಿಸುತ್ತವೆ. ಈ ಮಾರ್ಗದರ್ಶಿಯಲ್ಲಿ ವಿವರಿಸಿರುವ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸುವ ಮೂಲಕ, ನೀವು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಎರರ್ ಬೌಂಡರಿಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು ಮತ್ತು ಜಗತ್ತಿನಾದ್ಯಂತ ಬಳಕೆದಾರರಿಗೆ ಹೆಚ್ಚು ಸ್ಥಿತಿಸ್ಥಾಪಕ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಬಳಕೆದಾರ ಅನುಭವವನ್ನು ರಚಿಸಬಹುದು.