NgRx使用CreateSelector组装复合Selector
生活随笔
收集整理的這篇文章主要介紹了
NgRx使用CreateSelector组装复合Selector
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看一段源代碼:
import { createSelector } from '@ngrx/store';export interface State {evenNums: number[];oddNums: number[];}export const selectSumEvenNums = createSelector((state: State) => state.evenNums,evenNums => evenNums.reduce((prev, curr) => prev + curr));export const selectSumOddNums = createSelector((state: State) => state.oddNums,oddNums => oddNums.reduce((prev, curr) => prev + curr));export const selectTotal = createSelector(selectSumEvenNums,selectSumOddNums,(evenSum, oddSum) => evenSum + oddSum);let result = selectTotal({evenNums: [2, 4],oddNums: [1, 3],});console.log('Ethan', result);名為selectTotal的這個復合selector的消費方式很特別,直接傳一個初始state進去即可:
第一次計算,因此緩存里沒有lastResult,緩存沒有命中,所以開始計算。
調用projectionFn.apply, 將arguments傳入,進行計算:
已經在計算 6 + 4 了:
state就是傳入的輸入值:
先把偶數值全部求和:
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的NgRx使用CreateSelector组装复合Selector的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Angular Jasmine 里一些常
- 下一篇: 电脑中advanced是什么意思(TPM