React - использование классов вместо хуков
Здравствуйте уважаемые читатели, мой вопрос заключается в том что можно ли использовать классы в React вместо хуков в 2020, является ли такой подход нормальным? Кроме этого, настанет ли время когда официально уберут классы или все будут использовать только хуки
Ответы (1 шт):
Автор решения: Трипольский Пётр
→ Ссылка
Некоторые проблемы можно решить только классом. Например, отлов ошибок в компоненте. Однако, я бы настоятельно рекомендовал перейти на хуки, так как это просто и невероятно экономит время на отладке, чтении чужого кода...
class ErrorBoundary extends React.Component {
constructor(props) {
super(props);
this.state = { hasError: false };
}
static getDerivedStateFromError(error) {
// Update state so the next render will show the fallback UI.
return { hasError: true };
}
componentDidCatch(error, info) {
// Example "componentStack":
// in ComponentThatThrows (created by App)
// in ErrorBoundary (created by App)
// in div (created by App)
// in App
logComponentStackToMyService(info.componentStack);
}
render() {
if (this.state.hasError) {
// You can render any custom fallback UI
return <h1>Something went wrong.</h1>;
}
return this.props.children;
}
}