Notice: file_put_contents(): Write of 9043 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50

Warning: file_put_contents(): Only 8192 of 17235 bytes written, possibly out of free disk space in /var/www/tgoop/post.php on line 50
Frontender Libs - обзор библиотек JS / CSS@sWebDev P.3803
SWEBDEV Telegram 3803
Подписка на внешний стор с выборкой

Хук useSyncExternalStoreWithSelector() используется для подписки на внешний стор с избирательным обновлением компонента. Он расширяет useSyncExternalStore() за счёт функции выбора и сравнения: обновление вызывается только при изменении выбранного значения. Это снижает количество перерендеров при работе с глобальным состоянием.

import { useSyncExternalStoreWithSelector } from 'react';

function useCustomStore(selector, isEqual) {
return useSyncExternalStoreWithSelector(
subscribe, // подписка на стор
getSnapshot, // получение полного состояния
getSnapshot, // серверный snapshot
selector, // выбор нужного значения
isEqual // функция сравнения
);
}


При вызове хука можно передать selector, чтобы отслеживать только часть состояния, и isEqual, чтобы предотвратить обновление при эквивалентных значениях. Может пригодиться при подписке на сложные сторы, например, Redux без лишних обёрток.

👉 @sWebDev
👍51👎1



tgoop.com/sWebDev/3803
Create:
Last Update:

Подписка на внешний стор с выборкой

Хук useSyncExternalStoreWithSelector() используется для подписки на внешний стор с избирательным обновлением компонента. Он расширяет useSyncExternalStore() за счёт функции выбора и сравнения: обновление вызывается только при изменении выбранного значения. Это снижает количество перерендеров при работе с глобальным состоянием.

import { useSyncExternalStoreWithSelector } from 'react';

function useCustomStore(selector, isEqual) {
return useSyncExternalStoreWithSelector(
subscribe, // подписка на стор
getSnapshot, // получение полного состояния
getSnapshot, // серверный snapshot
selector, // выбор нужного значения
isEqual // функция сравнения
);
}


При вызове хука можно передать selector, чтобы отслеживать только часть состояния, и isEqual, чтобы предотвратить обновление при эквивалентных значениях. Может пригодиться при подписке на сложные сторы, например, Redux без лишних обёрток.

👉 @sWebDev

BY Frontender Libs - обзор библиотек JS / CSS




Share with your friend now:
tgoop.com/sWebDev/3803

View MORE
Open in Telegram


Telegram News

Date: |

How to create a business channel on Telegram? (Tutorial) But a Telegram statement also said: "Any requests related to political censorship or limiting human rights such as the rights to free speech or assembly are not and will not be considered." To view your bio, click the Menu icon and select “View channel info.” Telegram offers a powerful toolset that allows businesses to create and manage channels, groups, and bots to broadcast messages, engage in conversations, and offer reliable customer support via bots. The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be:
from us


Telegram Frontender Libs - обзор библиотек JS / CSS
FROM American