@Maksum70
СТудент

Можно ли назвать данный компонент hoc'ом?

В доке реакта hoc'ом называются компоненты, которые принимают атрибутом или пропсом нужный компонент и возвращают новый компонент со своей логикой, который рендерит нужный компонент.
вопрос, а можно ли назвать компонент хоком, который тоже содержит в себе логику и просто рендерит children?
function ResetFirstZoneHocWrapper(props: TProps) {
// тут вставляем нужную логику
return props.children;
}
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 1
@HikariNoSekai
Middle Vue.js Developer
Исходя из логики, hoc - это измененный входной компонент и созданный на его основе новый при выполнении определенных условий и манипуляций или возврат иного компонента, если условие не проходит.
Пример простого хока
import React from 'react';
import { Redirect } from 'react-router-dom';
import PropTypes from 'prop-types';
import PageContainer from '../containers/page-title.container';

const PrivateRoute = ({ component: Component, ...rest }) => {
  const { isAuth } = rest;

  return (
    <PageContainer
      {...rest}
      render={props =>
        isAuth ? (
          <Component {...props} {...rest} />
        ) : (
          <Redirect
            to={{
              pathname: '/login',
              state: { from: props.location },
            }}
          />
        )
      }
    />
  );
};

PrivateRoute.propTypes = {
  component: PropTypes.func.isRequired,
  location: PropTypes.object.isRequired,
};

export default PrivateRoute;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы