Реагировать на создание пользовательских Hook, которые никогда не перестраивать - PullRequest
0 голосов
/ 17 апреля 2020

Я использую пользовательский хук без состояния и хочу "сохранить" хук.

Хук называется useMessage() и должен быть восстановлен только в первом цикле рендеринга, так как я не использую любое состояние там.

Я хочу, чтобы глобальный хук хук редукса useDispatch().

Как это возможно?

РЕДАКТИРОВАТЬ:

Я просто хочу иметь 1 ссылку / синглтон моего крючка, чтобы не получать повторно все время! Есть ли способ запомнить крючок? Моя цель заключается в том, чтобы я мог добавить хук в зависимости, например, useEffect (), и это никогда не приведет к повторному запуску useEffect (). Так же, как useDispatch / useRef / ...

Ответы [ 2 ]

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

Поскольку вы хотите, чтобы useMessage() вызывался только при первом рендеринге и действовал как useDispatch, просто напишите его как есть ...


const MyFun = () => {
     const messageUsage = useMessage() ;
     const data = ...Some data... ;
     messageUsage(data) 
}

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

Я не уверен, что это то, что вы имеете в виду - но попробуйте это:

const [myValue] = useState(() => myInitialValue);

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

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