Limites de erro de reação explicados

Jan 01 2023
Tendo trabalhado em sites arrecadando mais de 50 bilhões de visitas ao site anualmente e fundando a Higglo Digital (uma agência digital de ponta), escrevo sobre tópicos de tecnologia e ensino engenheiros a terem bases sólidas que os ajudarão a progredir em suas carreiras. Também desenvolvo produtos incríveis para nômades digitais, confira! Limites de erro são um recurso do React que permite capturar e lidar com erros de tempo de execução em seu aplicativo, evitando que todo o aplicativo falhe.
Limites de erro de reação do JavaScript

Tendo trabalhado em sites arrecadando mais de 50 bilhões de visitas ao site anualmente e fundando a Higglo Digital (uma agência digital de ponta), escrevo sobre tópicos de tecnologia e ensino engenheiros a terem bases sólidas que os ajudarão a progredir em suas carreiras. Também desenvolvo produtos incríveis para nômades digitais , confira!

Limites de erro são um recurso do React que permite capturar e lidar com erros de tempo de execução em seu aplicativo, evitando que todo o aplicativo falhe. Isso é especialmente útil para aplicativos grandes em que um único erro pode causar a falha de todo o aplicativo, levando a uma experiência de usuário insatisfatória.

Para criar um limite de erro, você pode usar um componente de classe e adicionar um novo método de ciclo de vida chamado componentDidCatch. Este método usa dois argumentos: um objeto de erro e um objeto de informação de erro. O objeto de erro contém o erro real que ocorreu e o objeto de informações de erro contém detalhes sobre onde o erro ocorreu na árvore de componentes.

Aqui está um exemplo de como você pode criar um limite de erro em um componente de classe:

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

  componentDidCatch(error, errorInfo) {
    // You can also log the error to an error reporting service
    console.log(error, errorInfo);
    this.setState({ hasError: true });
  }

  render() {
    if (this.state.hasError) {
      // You can render any custom fallback UI
      return <h1>Something went wrong.</h1>;
    }

    return this.props.children;
  }
}

<MyErrorBoundary>
  <MyComponent />
  <MyOtherComponent />
</MyErrorBoundary>

É importante observar que os limites de erro detectam apenas erros que ocorrem dentro do próprio limite. Se ocorrer um erro em um componente filho de um limite de erro, o limite irá detectá-lo e tratá-lo. No entanto, se ocorrer um erro em um componente pai do limite, o limite não o detectará.

Você também pode usar limites de erro para detectar erros que ocorrem durante a renderização de um componente. Para fazer isso, você pode usar um try-catchbloco no rendermétodo de seu limite de erro. Por exemplo:

render() {
  try {
    return this.props.children;
  } catch (error) {
    // You can also log the error to an error reporting service
    console.log(error);
    this.setState({ hasError: true });
    return <h1>Something went wrong.</h1>;
  }
}

Os limites de erro são uma ferramenta poderosa para lidar com erros em aplicativos React e podem ajudar a melhorar a experiência do usuário, evitando que todo o aplicativo trave devido a um único erro. Ao agrupar sua árvore de componentes em um limite de erro, você pode detectar e manipular erros de uma maneira mais elegante e amigável.

A Higglo Digital pode ajudar sua empresa a arrasar no jogo da web com um site premiado e uma estratégia digital de ponta.

Também criei a Wanderlust Extension para descobrir os lugares mais bonitos do mundo com conteúdo altamente selecionado. Confira!