Что добавить в логику компонентов высшего порядка React

Примечание: в этом вопросе нет кода, потому что я ищу более теоретический ответ.

Я новичок в HOC. Я понимаю, как это кодировать, но не совсем уверен, какую логику поместить, где и когда ее вызывать.

Прямо сейчас я работаю над некоторыми функциями поиска для своего проекта и понял, что могу разделить логику между раскрывающимся списком результатов быстрого поиска и страницей результатов, поскольку они выполняют одинаковый тип поиска.

У меня есть следующие функциональные возможности:

  • проверить репозитории - проверяет, подходят ли отправленные данные для поиска
  • подготовить репозитории - строит строки из частей данных, чтобы упростить поиск
  • обрабатывать поиск - здесь происходит собственно поиск
  • построить результаты - здесь результаты делаются так, чтобы они "отображались" в компоненте результатов

Вопрос в том, должны ли это быть только общие функции в моем HOC, которые можно вызывать из моего обернутого компонента, или функции должны запускаться в HOC до их передачи?

Например, перед поиском должны быть выполнены и проверить репозитории, и подготовить репозитории. Поэтому я думаю, что это можно сделать в HOC, и их результаты будут отправлены как свойства для обернутого компонента.

Однако обрабатывать поиск выполняется, когда пользователь взаимодействует с компонентом, может быть, это должна быть функция, которую может вызывать завернутый компонент?

И построить результаты, в котором я вообще не уверен, поскольку он содержит некоторые функции отображения, хотя и общие, и, возможно, он должен вообще оставаться в обернутом компоненте?

Я думаю, что check repository и prepare repository могут быть в HOC, и их свойства передаются в обернутый компонент. Что именно завернуто? Handle search также может быть частью HOC или его дочернего элемента, если вы хотите выполнять поиск только после того, как check и prepare или дочерний элемент смонтирован. Похоже, вы можете захотеть визуализировать build result за пределами HOC, поэтому вы можете передать функцию HOC для обновления родителя с созданными результатами.

Dan 10.06.2018 00:21

Спасибо за чаевые. Под «обернутым» я подразумеваю компонент, который обернут / улучшен (или как он там называется) HOC.

Winter 10.06.2018 09:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
21
0

Другие вопросы по теме