Использовать хук в функции возврата - PullRequest
0 голосов
/ 28 апреля 2020

Я новичок в React. Если имя моей функции начинается с заглавной буквы, например «ErrorHandler», я не могу использовать хук внутри функции возврата. Но если имя моей функции начинается со строчной буквы, например "errorHandler", все работает нормально. Кто-нибудь может объяснить, почему это происходит? Думает заранее.

const ErrorHandler = () => {
return props => {
  const [error, setError] = useState(null);
  return (
     <div>
        <Modal />
     </div>
  )
   }}

export default ErrorHandler

1 Ответ

0 голосов
/ 28 апреля 2020

Причиной проблемы здесь является то, что React использует соглашение об именах, чтобы определить, является ли функция Компонентом, пользовательской перехватчиком или обычной функцией или HO C, если перехватчики используются в коде

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

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

Вся проверка должна устанавливать некоторые основные правила и правила, заданные по реакции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...