NgRx 22: ಕೋನೀಯಕ್ಕಾಗಿ ಸಂಪನ್ಮೂಲ ವಿಸ್ತರಣೆಗಳು ಮತ್ತು ಡೈನಾಮಿಕ್ ಡೀಪ್ ಸಿಗ್ನಲ್‌ಗಳು

NgRx 22: ಕೋನೀಯಕ್ಕಾಗಿ ಸಂಪನ್ಮೂಲ ವಿಸ್ತರಣೆಗಳು ಮತ್ತು ಡೈನಾಮಿಕ್ ಡೀಪ್ ಸಿಗ್ನಲ್‌ಗಳು


ಆಂಗ್ಯುಲರ್‌ನ ಪ್ರತಿಕ್ರಿಯಾತ್ಮಕ ರಾಜ್ಯ ನಿರ್ವಹಣಾ ಚೌಕಟ್ಟಾದ NgRx, ಆವೃತ್ತಿ 22 ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದೆ, ಆಂಗ್ಯುಲರ್‌ನ ಸಂಪನ್ಮೂಲ API ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ಶಿಪ್ಪಿಂಗ್ ಉಪಯುಕ್ತತೆಗಳು, ಯೂನಿಯನ್ ಪ್ರಕಾರಗಳಿಗೆ ಡೈನಾಮಿಕ್ ಆಳವಾದ ಸಂಕೇತಗಳು, ಹೊಸದು SignalStore ಟೈಪಿಂಗ್ ಸಹಾಯಕ ಮತ್ತು ESLint v10 ಹೊಂದಾಣಿಕೆ.

ಮುಖ್ಯ ಹೊಸ ಸೇರ್ಪಡೆ ಸಂಪನ್ಮೂಲ ವಿಸ್ತರಣೆಗಳು, ಹೊಸ ಪ್ರಯೋಗದ ಮೂಲಕ ವಿತರಿಸಲಾಗಿದೆ @ngrx/signals/resource ಪ್ರವೇಶ ಬಿಂದು. ಕೋನೀಯ ನ resource ಮತ್ತು httpResource API ಗಳನ್ನು ಮರುಹೊಂದಿಸಲಾಗಿದೆ value() ಗೆ undefined ಮರುಲೋಡ್ ಮಾಡುವಾಗ ಮತ್ತು ದೋಷ ಸ್ಥಿತಿಯಲ್ಲಿ ಓದಿದಾಗ ಎಸೆಯಿರಿ. ಸಂಪನ್ಮೂಲ ವಿಸ್ತರಣೆಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಂಪನ್ಮೂಲವನ್ನು ಸುತ್ತುತ್ತವೆ ಮತ್ತು ಮೂಲ ಸಂಪನ್ಮೂಲ ಪ್ರಕಾರವನ್ನು ಸಂರಕ್ಷಿಸುವಾಗ ಆ ನಡವಳಿಕೆಗಳನ್ನು ಮಾತ್ರ ಪ್ಯಾಚ್ ಮಾಡುತ್ತದೆ.

ನಾಲ್ಕು ಅಂತರ್ನಿರ್ಮಿತ ವಿಸ್ತರಣೆಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಜೊತೆಗೆ a provideResourceExtensions ಅಪ್ಲಿಕೇಶನ್, ಮಾರ್ಗ ಅಥವಾ ಘಟಕ ಮಟ್ಟದಲ್ಲಿ ಡೀಫಾಲ್ಟ್‌ಗಳನ್ನು ನೋಂದಾಯಿಸುವ ಕಾರ್ಯ. ಮೂಲ RFC ಯಲ್ಲಿ, ಮಾರ್ಕೊ ಸ್ಟ್ಯಾನಿಮಿರೊವಿಕ್ ದೋಷದ ನಡವಳಿಕೆಯನ್ನು ಬದಲಾಯಿಸುವುದು ಸಹ ಆಳವಾದ ಪೂರ್ವಾಪೇಕ್ಷಿತವಾಗಿದೆ ಎಂದು ವಿವರಿಸಿದರು. SignalStore ಏಕೀಕರಣ, “ಒಮ್ಮೆ ಸಂಪನ್ಮೂಲವು ದೋಷ ಸ್ಥಿತಿಯನ್ನು ಪ್ರವೇಶಿಸಿದರೆ, ಯಾವುದೇ ನಂತರದ patchState ಕರೆ ಎಸೆಯುತ್ತದೆ ಏಕೆಂದರೆ ಅದು ಓದುತ್ತದೆ value() ಆಂತರಿಕವಾಗಿ”.

ಈ ಪ್ರಸ್ತಾಪವನ್ನು ಚೆನ್ನಾಗಿ ಸ್ವೀಕರಿಸಲಾಯಿತು, ಮ್ಯಾನ್‌ಫ್ರೆಡ್ ಸ್ಟೇಯರ್ “ಇದನ್ನು ಪ್ರೀತಿಸುತ್ತೇನೆ!” ಮತ್ತು ಆಕ್ಟಿವೇಶನ್ ಸಿಗ್ನಲ್ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಮತ್ತೊಬ್ಬ ಕಾಮೆಂಟರ್ SolidJS ನೊಂದಿಗೆ ಸಮಾನತೆಯನ್ನು ಕೇಳಿದರು createResourceಲೋಡರ್ ಒಳಗೆ ಪ್ರಸ್ತುತ ಮೌಲ್ಯಕ್ಕೆ ಪ್ರವೇಶ.

DEV ನಲ್ಲಿನ ಸಮುದಾಯ ರೌಂಡಪ್ ಆಂಗ್ಯುಲರ್‌ನೊಂದಿಗೆ ಇದೇ ರೀತಿಯ ನಡವಳಿಕೆಯನ್ನು ನಿರ್ಮಿಸಬಹುದು ಎಂದು ಗಮನಿಸಿದೆ snapshot() ಮತ್ತು ಹೆಚ್ಚುವರಿ ಸ್ಥಿತಿಯ ತರ್ಕ, ಆದರೆ “ಸಂಪನ್ಮೂಲ ವಿಸ್ತರಣೆಗಳೊಂದಿಗೆ, ನೀವು ಸಂಪನ್ಮೂಲದಲ್ಲಿಯೇ ಇರುತ್ತೀರಿ”, ಮೌಲ್ಯವನ್ನು ಬರೆಯಲು ಮತ್ತು ಹೆಚ್ಚು ನಿರ್ದಿಷ್ಟವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳುವುದು httpResource ರೀತಿಯ.

Angular ಗಾಗಿ TanStack ಪ್ರಶ್ನೆಯು ಪ್ಲೇಸ್‌ಹೋಲ್ಡರ್‌ಡೇಟಾ: KeepPreviousData ಮೂಲಕ ಪ್ರಶ್ನೆಯ ಕೀಗಳನ್ನು ಬದಲಾಯಿಸಿದಾಗ ಇದೇ ರೀತಿಯ ಹಿಂದಿನ-ಡೇಟಾ ಧಾರಣವನ್ನು ನೀಡುತ್ತದೆ. ಪ್ರತ್ಯೇಕವಾಗಿ, ಸಮುದಾಯ NgRx ಟೂಲ್‌ಕಿಟ್‌ನ withResourceಗಳು ಎಸೆಯದಿರುವುದನ್ನು ಬೆಂಬಲಿಸಿದೆ ವ್ಯಾಖ್ಯಾನಿಸದ ಮೌಲ್ಯ ಮತ್ತು ಹಿಂದಿನ ಮೌಲ್ಯ; v20.6.0 ರಿಂದ ಸಿಗ್ನಲ್‌ಸ್ಟೋರ್‌ಗಾಗಿ ದೋಷ-ನಿರ್ವಹಣೆಯ ತಂತ್ರಗಳು.

ಆವೃತ್ತಿ 22 ಸಹ ಆಳವಾದ ಸಂಕೇತಗಳನ್ನು ಕ್ರಿಯಾತ್ಮಕಗೊಳಿಸುತ್ತದೆ. ಹಿಂದೆ, ಯೂನಿಯನ್‌ನಂತೆ ಟೈಪ್ ಮಾಡಲಾದ ಸ್ಟೇಟ್ ಸ್ಲೈಸ್, “ಇನ್ನೂ ಲೋಡ್ ಆಗಿಲ್ಲ” ಮಾದರಿಯ ನೈಸರ್ಗಿಕ ವಿಧಾನ, ಒಂದೇ ಫ್ಲಾಟ್ ಸಿಗ್ನಲ್‌ಗೆ ಕುಸಿದಿದೆ. ಈಗ ಪ್ರತಿಯೊಂದು ವಸ್ತುವಿನ ಅಕ್ಷರಶಃ ಸದಸ್ಯರು ತನ್ನದೇ ಆದ ಡೀಪ್‌ಸಿಗ್ನಲ್ ಅನ್ನು ಪಡೆಯುತ್ತಾರೆ, ಚೆಕ್‌ನಲ್ಲಿ ಕಿರಿದಾಗುವ ನಂತರ ತಲುಪಬಹುದು.

ಒಂದು ಹೊಸ SignalStoreFeatureType ಉಪಯುಕ್ತತೆಯು ವೈಶಿಷ್ಟ್ಯದ ಕಾರ್ಖಾನೆಯ ರಾಜ್ಯ ಮತ್ತು ಸದಸ್ಯರನ್ನು ಹೊರತೆಗೆಯುತ್ತದೆ ಆದ್ದರಿಂದ ಕಸ್ಟಮ್ ವೈಶಿಷ್ಟ್ಯಗಳು ಅವುಗಳನ್ನು ಕೈಯಿಂದ ಪುನಃ ಘೋಷಿಸುವ ಬದಲು ಇನ್‌ಪುಟ್ ಪ್ರಕಾರಗಳಾಗಿ ಮರುಬಳಕೆ ಮಾಡಬಹುದು. ಬೇರೆಡೆ, @ngrx/store-devtools ಒಂದು ಗಳಿಸುತ್ತದೆ actionCreators Redux DevTools ನಿಂದ ಕಳುಹಿಸುವ ಆಯ್ಕೆ, ಮತ್ತು @ngrx/eslint-plugin ESLint v8 ಮತ್ತು ಲೆಗಸಿ .eslintrc ಫಾರ್ಮ್ಯಾಟ್ ಅನ್ನು ಕೈಬಿಡುವಾಗ ಈಗ ESLint v10 ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ದಸ್ತಾವೇಜನ್ನು ಸೈಟ್ ಒಂದು ಬೆಳಕಿನ ಥೀಮ್ ಪಡೆಯುತ್ತದೆ.

ಅಪ್‌ಗ್ರೇಡ್ ಮಾಡುವ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಕೋನೀಯ 22, ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್ 6.0 ಮತ್ತು RxJS ^6.5 ಅಥವಾ ^7.5 ಅಗತ್ಯವಿದೆ ಮತ್ತು ರನ್ ಮಾಡಬಹುದು ng update @ngrx/store@22ಅಥವಾ ng update @ngrx/signals@22 SignalStore-ಮಾತ್ರ ಯೋಜನೆಗಳಿಗೆ. ಹೆಚ್ಚಿನ ಬ್ರೇಕಿಂಗ್ ಬದಲಾವಣೆಗಳು ಸ್ವಯಂಚಾಲಿತ ವಲಸೆಗಳನ್ನು ಹೊಂದಿವೆ, v22 ವಲಸೆ ಮಾರ್ಗದರ್ಶಿ ಮತ್ತು ಚೇಂಜ್ಲಾಗ್ನಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ. ಕೋನೀಯ 22 ಸಂಪನ್ಮೂಲ ಸಮಯವನ್ನು ಬದಲಾಯಿಸಿದೆ ಎಂದು ತಂಡಗಳು ಗಮನಿಸಬೇಕು, ಒಬ್ಬ ಡೆವಲಪರ್ ಪರೀಕ್ಷಾ ವೈಫಲ್ಯಗಳನ್ನು ವರದಿ ಮಾಡುವುದರೊಂದಿಗೆ ಆಂಗ್ಯುಲರ್‌ನ ಬಿಡುಗಡೆ ಟಿಪ್ಪಣಿಗಳಿಗೆ ಬ್ರೇಕಿಂಗ್ ಬದಲಾವಣೆಯಾಗಿ ಸೇರಿಸಲಾಯಿತು.

ಕೋನೀಯ v22 ಗಾಗಿ ಹ್ಯಾಕರ್ ನ್ಯೂಸ್ ಥ್ರೆಡ್‌ನಲ್ಲಿ, ಒಬ್ಬ ಬಳಕೆದಾರರು ಬರೆದಿದ್ದಾರೆ:

NGRX ಸಿಗ್ನಲ್‌ಗಳು ಹೊಸ ಮಾರ್ಗವಾಗಿದೆ ಮತ್ತು ಅದರ ಸುಂದರವಾಗಿದೆ. ರಾಜ್ಯವನ್ನು ಕೊಂಡಿಯಾಗಿರಿಸಲು 5 ಫೈಲ್‌ಗಳನ್ನು ಹೊಂದುವ ಬದಲು, ಅದರ ಸಾಮಾನ್ಯವಾಗಿ 1 ಫೈಲ್ ಮತ್ತು ಎಲ್ಲಾ/ಹೆಚ್ಚಿನ ಕಾರ್ಯವು ಸಹ-ಸ್ಥಳವಾಗಿದೆ.

ಇನ್ನೊಬ್ಬರು ಇದನ್ನು ಗಮನಿಸಿದ್ದರೂ:

ಆಧುನಿಕ ಕೋನೀಯವು v2 ದಿನಗಳಿಗಿಂತ (ಅಥವಾ ನಾನು ಮೊದಲ ಬಾರಿಗೆ ಕೆಲಸ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿದ v4 ದಿನಗಳಿಗಿಂತ) ಬಳಸಲು ತುಂಬಾ ಉತ್ತಮವಾಗಿದೆ. ಇಂದಿನ ದಿನಗಳಲ್ಲಿ ಅಗತ್ಯವಿರುವ ಬಹಳಷ್ಟು ಬಾಯ್ಲರ್‌ಗಳು ಅನಗತ್ಯವಾಗಿವೆ. ಮತ್ತು RxJS ಮತ್ತು NgRX ಸಹ ಬಳಸಲು ಕಡಿಮೆ ಮತ್ತು ಕಡಿಮೆ ಅಗತ್ಯವಾಗುತ್ತಿದೆ, ಇದು ಅದ್ಭುತವಾಗಿದೆ.

NgRx ಒಂದು ಮುಕ್ತ-ಮೂಲ, ಪ್ರತಿಕ್ರಿಯಾತ್ಮಕ ಕೋನೀಯ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಸಮುದಾಯ-ಚಾಲಿತ ಚೌಕಟ್ಟಾಗಿದೆ, ಸಿಗ್ನಲ್-ಆಧಾರಿತ SignalStore ಜೊತೆಗೆ ಸ್ಟೋರ್ ಮತ್ತು ಎಫೆಕ್ಟ್‌ಗಳೊಂದಿಗೆ ಜಾಗತಿಕ ರಾಜ್ಯ ನಿರ್ವಹಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದನ್ನು Nx ಮತ್ತು CodeRabbit ಪ್ರಾಯೋಜಿಸಿದೆ ಮತ್ತು ಅದರ ಮೂಲವು GitHub ನಲ್ಲಿ ಲಭ್ಯವಿದೆ.





Source link

Leave a Reply

Your email address will not be published. Required fields are marked *