Սելեկտորներ և useSelector հուկը Redux-ում
Նախորդ դասերում մենք գրառեցինք store-ում ապրանքների տվյալները: Ինչպե՞ս ստանանք դրանք store-ից:
Դա անելու համար մեզ անհրաժեշտ է գրել ֆունկցիա-սելեկտոր: Այս ֆունկցիան գիտի, թե ինչպես դուրս բերել տեղեկատվության որոշակի հատված store-ում պահվող սթեյթի արժեքից և օգնում է խուսափել կրկնվող կոդ գրելուց, երբ հավելվածը մեծանում է: Մուտքային արգումենտ այս ֆունկցիան ընդունում է state, իսկ ելքում տալիս է սթեյթի անհրաժեշտ հատվածը: Օրինակ այսպես.
const selectValue = state => state.some.value
Ուսումնականի հենց սկզբում նշվեց, որ
store-ն ունի getState մեթոդը: Եվ մենք
հեշտությամբ կարող էինք օգտագործել այն
սթեյթի արժեքը ստանալու համար.
const value = selectValue(store.getState())
Խնդիրը կայանում է նրանում, որ մեր React
կոմպոնենտները չեն կարող ուղղակիորեն դիմել
store-ին, քանի որ արգելված է այն ներմուծել
կոմպոնենտի ֆայլ: Բայց մենք հնարավորություն ունենք
ստանալու տվյալները կոմպոնենտում՝ օգտագործելով
React-Redux useSelector հուկը: Ընդ որում,
այս հուկի օգնությամբ մեր կոմպոնենտները միշտ կստանան
միայն արդիական տվյալներ.
const count = useSelector(selectValue)