Обложка канала

Заметки про React

Короткие и полезные заметки про React

Заметки про React

4 года назад
Открыть в
Гексагональная архитектура в React Основная идея в гексагональной архитектуре, чистой архитектуре и других похожих парадигмах заключается в концепции разделения слоев и выделении отдельного доменного слоя. При обсуждении применения гексагональной архитектуры для приложения React возникает вопрос о правильном применении. Алекс Кондов рассказал о подходе к разработке приложений на React с применением гексагональной архитектуры. Для доступа к доменной логике в компонентах используются хуки. Хуки – это адаптеры между React и вашим доменным кодом. Под доменным кодом имеются в виду запросы в API, управление пользователем или любой другой бизнес-сущностью. Сама доменная логика может быть реализована с помощью любой удобной парадигмой программирования. В качестве примера можно посмотреть на react-query. Эта библиотека написана с помощью ООП и использует хуки как адаптер к React.
function PostPage({ postId }) {
  const { post, error, bookmarkPost, reactToPost } = usePost(postId);

  // --snip--
}

function usePost(postId) {
  const [post, setPost] = useState(null);
  // --snip--

  const getPost = () => {
    client.getPost(postId).then(setPost).catch(setError)
  }

  const bookmarkPost = () => {
    client.bookmarkPost(postId, userId);
  };

  useEffect(() => {
    getPost()
  }, [])

  // --snip--

  return {
    post: mapToDomainObject(post),
    bookmarkPost,
    // --snip--
  };
}
alexkondov.com/hexagon…in-react
Hexagonal-Inspired Architecture in React

My grudge against the front-end community is that we’re too focused on improving low-level APIs and building new tools instead of thinking about architecture…

Alexkondov