Սելեկտորներ և useSelector հուկը Redux-ում

Նախորդ դասերում մենք գրառեցինք store-ում ապրանքների տվյալները: Ինչպե՞ս ստանանք դրանք store-ից:

Դա անելու համար մեզ անհրաժեշտ է գրել ֆունկցիա-սելեկտոր: Այս ֆունկցիան գիտի, թե ինչպես դուրս բերել տեղեկատվության որոշակի հատված store-ում պահվող սթեյթի արժեքից և օգնում է խուսափել կրկնվող կոդ գրելուց, երբ հավելվածը մեծանում է: Մուտքային արգումենտ այս ֆունկցիան ընդունում է state, իսկ ելքում տալիս է սթեյթի անհրաժեշտ հատվածը: Օրինակ այսպես.

jsxconst selectValue = state => state.some.value

Ուսումնականի հենց սկզբում նշվեց, որ store-ն ունի getState մեթոդը: Եվ մենք հեշտությամբ կարող էինք օգտագործել այն սթեյթի արժեքը ստանալու համար.

jsxconst value = selectValue(store.getState())

Խնդիրը կայանում է նրանում, որ մեր React կոմպոնենտները չեն կարող ուղղակիորեն դիմել store-ին, քանի որ արգելված է այն ներմուծել կոմպոնենտի ֆայլ: Բայց մենք հնարավորություն ունենք ստանալու տվյալները կոմպոնենտում՝ օգտագործելով React-Redux useSelector հուկը: Ընդ որում, այս հուկի օգնությամբ մեր կոմպոնենտները միշտ կստանան միայն արդիական տվյալներ.

jsxconst count = useSelector(selectValue)