ಕನ್ನಡ

ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳನ್ನು ಅನ್ವೇಷಿಸಿ, ಇದು ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆಗಳು ಮತ್ತು ಡೇಟಾ ಬದಲಾವಣೆಗಳನ್ನು ನೇರವಾಗಿ ಸರ್ವರ್‌ನಲ್ಲಿ ನಿರ್ವಹಿಸಲು ಒಂದು ಶಕ್ತಿಯುತ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ, ಇದು ರಿಯಾಕ್ಟ್ ಅಭಿವೃದ್ಧಿಯನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಭದ್ರತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.

ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್ಸ್: ಸರ್ವರ್-ಸೈಡ್ ಫಾರ್ಮ್ ಪ್ರೊಸೆಸಿಂಗ್ ಸರಳೀಕೃತ

ರಿಯಾಕ್ಟ್ 18 ರಲ್ಲಿ ಪರಿಚಯಿಸಲಾದ ಮತ್ತು Next.js ನಲ್ಲಿ ಗಮನಾರ್ಹವಾಗಿ ವರ್ಧಿಸಲಾದ ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್ಸ್, ಸರ್ವರ್‌ನಲ್ಲಿ ನೇರವಾಗಿ ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆಗಳು ಮತ್ತು ಡೇಟಾ ಬದಲಾವಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಒಂದು ಕ್ರಾಂತಿಕಾರಿ ವಿಧಾನವನ್ನು ನೀಡುತ್ತವೆ. ಈ ಶಕ್ತಿಯುತ ವೈಶಿಷ್ಟ್ಯವು ಸಾಂಪ್ರದಾಯಿಕ ಕ್ಲೈಂಟ್-ಸೈಡ್ ಡೇಟಾ ಫೆಚಿಂಗ್ ಮತ್ತು ಮ್ಯಾನಿಪ್ಯುಲೇಶನ್‌ಗೆ ಹೋಲಿಸಿದರೆ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ, ಭದ್ರತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ.

ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್ಸ್ ಎಂದರೇನು?

ಸರ್ವರ್ ಆಕ್ಷನ್ಸ್ ಎನ್ನುವುದು ಸರ್ವರ್‌ನಲ್ಲಿ ಚಾಲನೆಯಾಗುವ ಅಸಿಂಕ್ರೋನಸ್ ಫಂಕ್ಷನ್‌ಗಳಾಗಿದ್ದು, ಇವುಗಳನ್ನು ರಿಯಾಕ್ಟ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳಿಂದ ನೇರವಾಗಿ ಕರೆಯಬಹುದು. ಇವುಗಳು ನಿಮಗೆ ಸರ್ವರ್-ಸೈಡ್ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತವೆ, ಅವುಗಳೆಂದರೆ:

ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳ ಪ್ರಮುಖ ಪ್ರಯೋಜನವೆಂದರೆ, ಅವು ನಿಮ್ಮ ರಿಯಾಕ್ಟ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳಲ್ಲಿಯೇ ಸರ್ವರ್-ಸೈಡ್ ಕೋಡ್ ಬರೆಯಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತವೆ, ಇದರಿಂದಾಗಿ ಪ್ರತ್ಯೇಕ API ಮಾರ್ಗಗಳು ಮತ್ತು ಸಂಕೀರ್ಣ ಕ್ಲೈಂಟ್-ಸೈಡ್ ಡೇಟಾ ಫೆಚಿಂಗ್ ಲಾಜಿಕ್‌ನ ಅವಶ್ಯಕತೆ ಇಲ್ಲವಾಗುತ್ತದೆ. UI ಮತ್ತು ಸರ್ವರ್-ಸೈಡ್ ಲಾಜಿಕ್‌ನ ಈ ಸಹ-ಸ್ಥಳೀಕರಣವು ಹೆಚ್ಚು ನಿರ್ವಹಿಸಬಲ್ಲ ಮತ್ತು ದಕ್ಷ ಕೋಡ್‌ಬೇಸ್‌ಗೆ ಕಾರಣವಾಗುತ್ತದೆ.

ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್ಸ್ ಬಳಸುವುದರ ಪ್ರಯೋಜನಗಳು

ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್ಸ್ ಬಳಸುವುದರಿಂದ ಹಲವಾರು ಗಮನಾರ್ಹ ಪ್ರಯೋಜನಗಳಿವೆ:

ಸರಳೀಕೃತ ಅಭಿವೃದ್ಧಿ

ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳು ನಿಮ್ಮ ರಿಯಾಕ್ಟ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳಲ್ಲಿಯೇ ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆಗಳು ಮತ್ತು ಡೇಟಾ ಬದಲಾವಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುವುದರಿಂದ ಬಾಯ್ಲರ್‌ಪ್ಲೇಟ್ ಕೋಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಇದು ಪ್ರತ್ಯೇಕ API ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳು ಮತ್ತು ಸಂಕೀರ್ಣ ಕ್ಲೈಂಟ್-ಸೈಡ್ ಡೇಟಾ ಫೆಚಿಂಗ್ ಲಾಜಿಕ್‌ನ ಅಗತ್ಯವನ್ನು ನಿವಾರಿಸುತ್ತದೆ, ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸುಗಮಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ಸುಲಭಗೊಳಿಸುತ್ತದೆ. ಒಂದು ಸರಳ ಸಂಪರ್ಕ ಫಾರ್ಮ್ ಅನ್ನು ಪರಿಗಣಿಸಿ. ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳಿಲ್ಲದೆ, ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಲು ನಿಮಗೆ ಪ್ರತ್ಯೇಕ API ಮಾರ್ಗ, ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲು ಕ್ಲೈಂಟ್-ಸೈಡ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್, ಮತ್ತು ಕ್ಲೈಂಟ್ ಹಾಗೂ ಸರ್ವರ್ ಎರಡರಲ್ಲೂ ಎರರ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್ ಲಾಜಿಕ್ ಬೇಕಾಗುತ್ತದೆ. ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳೊಂದಿಗೆ, ಇದೆಲ್ಲವನ್ನೂ ಕಾಂಪೊನೆಂಟ್‌ನಲ್ಲಿಯೇ ನಿಭಾಯಿಸಬಹುದು.

ವರ್ಧಿತ ಭದ್ರತೆ

ಸರ್ವರ್‌ನಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಚಲಾಯಿಸುವ ಮೂಲಕ, ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ನ ದಾಳಿಯ ಮೇಲ್ಮೈಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಸೂಕ್ಷ್ಮ ಡೇಟಾ ಮತ್ತು ಬಿಸಿನೆಸ್ ಲಾಜಿಕ್ ಅನ್ನು ಕ್ಲೈಂಟ್‌ನಿಂದ ದೂರವಿಡಲಾಗುತ್ತದೆ, ಇದರಿಂದ ದುರುದ್ದೇಶಪೂರಿತ ಬಳಕೆದಾರರು ಅವುಗಳನ್ನು ತಿರುಚುವುದನ್ನು ತಡೆಯುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಡೇಟಾಬೇಸ್ ಕ್ರೆಡೆನ್ಶಿಯಲ್‌ಗಳು ಅಥವಾ API ಕೀಗಳು ಕ್ಲೈಂಟ್-ಸೈಡ್ ಕೋಡ್‌ನಲ್ಲಿ ಎಂದಿಗೂ ಬಹಿರಂಗಗೊಳ್ಳುವುದಿಲ್ಲ. ಎಲ್ಲಾ ಡೇಟಾಬೇಸ್ ಸಂವಹನಗಳು ಸರ್ವರ್‌ನಲ್ಲಿ ನಡೆಯುತ್ತವೆ, ಇದರಿಂದ SQL ಇಂಜೆಕ್ಷನ್ ಅಥವಾ ಅನಧಿಕೃತ ಡೇಟಾ ಪ್ರವೇಶದ ಅಪಾಯವನ್ನು ತಗ್ಗಿಸುತ್ತದೆ.

ಸುಧಾರಿತ ಕಾರ್ಯಕ್ಷಮತೆ

ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ಡೌನ್‌ಲೋಡ್ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕಾದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಮಾಣವನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಮೂಲಕ ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಬಹುದು. ಇದು ಕಡಿಮೆ-ಶಕ್ತಿಯ ಸಾಧನಗಳಲ್ಲಿರುವ ಅಥವಾ ನಿಧಾನಗತಿಯ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕ ಹೊಂದಿರುವ ಬಳಕೆದಾರರಿಗೆ ವಿಶೇಷವಾಗಿ ಪ್ರಯೋಜನಕಾರಿಯಾಗಿದೆ. ಡೇಟಾ ಪ್ರೊಸೆಸಿಂಗ್ ಸರ್ವರ್‌ನಲ್ಲಿ ನಡೆಯುತ್ತದೆ, ಮತ್ತು ಅಗತ್ಯವಿರುವ UI ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಮಾತ್ರ ಕ್ಲೈಂಟ್‌ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ವೇಗದ ಪೇಜ್ ಲೋಡ್‌ಗಳು ಮತ್ತು ಸುಗಮ ಬಳಕೆದಾರ ಅನುಭವ ಉಂಟಾಗುತ್ತದೆ.

ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ ಅಪ್‌ಡೇಟ್ಸ್

ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳು ರಿಯಾಕ್ಟ್‌ನ ಸಸ್ಪೆನ್ಸ್ ಮತ್ತು ಟ್ರಾನ್ಸಿಶನ್‌ಗಳೊಂದಿಗೆ ಮನಬಂದಂತೆ ಸಂಯೋಜನೆಗೊಳ್ಳುತ್ತವೆ, ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತವೆ. ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ ಅಪ್‌ಡೇಟ್‌ಗಳು ಸರ್ವರ್ ಕ್ರಿಯೆಯನ್ನು ಖಚಿತಪಡಿಸುವ ಮೊದಲೇ ತಕ್ಷಣವೇ UI ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಇದು ಹೆಚ್ಚು ಸ್ಪಂದನಾಶೀಲ ಮತ್ತು ಆಕರ್ಷಕ ಬಳಕೆದಾರ ಅನುಭವವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಬಳಕೆದಾರರು ತಮ್ಮ ಕ್ರಿಯೆಗಳ ಫಲಿತಾಂಶಗಳನ್ನು ನೋಡುವ ಮೊದಲು ಸರ್ವರ್ ಪ್ರತಿಕ್ರಿಯಿಸಲು ಕಾಯಬೇಕಾಗಿಲ್ಲ. ಇ-ಕಾಮರ್ಸ್‌ನಲ್ಲಿ, ಶಾಪಿಂಗ್ ಕಾರ್ಟ್‌ಗೆ ಒಂದು ಐಟಂ ಅನ್ನು ಸೇರಿಸುವುದನ್ನು ತಕ್ಷಣವೇ ಪ್ರದರ್ಶಿಸಬಹುದು, ಆದರೆ ಸರ್ವರ್ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಸೇರ್ಪಡೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.

ಪ್ರಗತಿಪರ ವರ್ಧನೆ

ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳು ಪ್ರಗತಿಪರ ವರ್ಧನೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ, ಇದರರ್ಥ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ನಿಷ್ಕ್ರಿಯಗೊಂಡರೂ ಅಥವಾ ಲೋಡ್ ಆಗಲು ವಿಫಲವಾದರೂ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ನಿಷ್ಕ್ರಿಯಗೊಂಡಾಗ, ಫಾರ್ಮ್‌ಗಳು ಸಾಂಪ್ರದಾಯಿಕ HTML ಫಾರ್ಮ್‌ಗಳಾಗಿ ಸಲ್ಲಿಕೆಯಾಗುತ್ತವೆ, ಮತ್ತು ಸರ್ವರ್ ಸಲ್ಲಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಿ ಬಳಕೆದಾರರನ್ನು ಹೊಸ ಪುಟಕ್ಕೆ ಮರುನಿರ್ದೇಶಿಸುತ್ತದೆ. ಇದು ಬ್ರೌಸರ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅಥವಾ ನೆಟ್‌ವರ್ಕ್ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಲೆಕ್ಕಿಸದೆ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಎಲ್ಲಾ ಬಳಕೆದಾರರಿಗೆ ಲಭ್ಯವಾಗುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಇದು ಪ್ರವೇಶಿಸುವಿಕೆ ಮತ್ತು SEO ಗೆ ವಿಶೇಷವಾಗಿ ಮುಖ್ಯವಾಗಿದೆ.

ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್ಸ್ ಬಳಸುವುದು ಹೇಗೆ

ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್ಸ್ ಬಳಸಲು, ನೀವು Next.js ನಂತಹ ಅವುಗಳನ್ನು ಬೆಂಬಲಿಸುವ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ಇಲ್ಲಿ ಹಂತ-ಹಂತದ ಮಾರ್ಗದರ್ಶಿಯಿದೆ:

1. ಸರ್ವರ್ ಆಕ್ಷನ್ ಅನ್ನು ಡಿಫೈನ್ ಮಾಡಿ

ಸರ್ವರ್‌ನಲ್ಲಿ ಚಾಲನೆಯಾಗುವ ಒಂದು ಅಸಿಂಕ್ರೋನಸ್ ಫಂಕ್ಷನ್ ಅನ್ನು ರಚಿಸಿ. ಈ ಫಂಕ್ಷನ್ ನೀವು ಸರ್ವರ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಬಯಸುವ ಲಾಜಿಕ್ ಅನ್ನು ನಿರ್ವಹಿಸಬೇಕು, ಉದಾಹರಣೆಗೆ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡುವುದು ಅಥವಾ API ಅನ್ನು ಕರೆಯುವುದು. ಇದು ಸರ್ವರ್ ಆಕ್ಷನ್ ಎಂದು ಸೂಚಿಸಲು ಫಂಕ್ಷನ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ `"use server"` ಡೈರೆಕ್ಟಿವ್‌ನೊಂದಿಗೆ ಗುರುತಿಸಿ. ಈ ಡೈರೆಕ್ಟಿವ್ ರಿಯಾಕ್ಟ್ ಕಂಪೈಲರ್‌ಗೆ ಫಂಕ್ಷನ್ ಅನ್ನು ಸರ್ವರ್-ಸೈಡ್ ಫಂಕ್ಷನ್ ಆಗಿ ಪರಿಗಣಿಸಲು ಮತ್ತು ಕ್ಲೈಂಟ್ ಮತ್ತು ಸರ್ವರ್ ನಡುವೆ ಡೇಟಾದ ಸೀರಿಯಲೈಸೇಶನ್ ಮತ್ತು ಡಿಸೀರಿಯಲೈಸೇಶನ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿರ್ವಹಿಸಲು ಹೇಳುತ್ತದೆ.

// app/actions.js
'use server'

import { revalidatePath } from 'next/cache';
import { saveMessage } from './db';

export async function createMessage(prevState, formData) {
  const message = formData.get('message');

  try {
    await saveMessage(message);
    revalidatePath('/'); // Clear the route cache
    return { message: 'Message saved successfully!' };
  } catch (e) {
    return { message: 'Failed to save message' };
  }
}

ವಿವರಣೆ:

2. ನಿಮ್ಮ ಕಾಂಪೊನೆಂಟ್‌ನಲ್ಲಿ ಸರ್ವರ್ ಆಕ್ಷನ್ ಅನ್ನು ಇಂಪೋರ್ಟ್ ಮಾಡಿ ಮತ್ತು ಬಳಸಿ

ನಿಮ್ಮ ರಿಯಾಕ್ಟ್ ಕಾಂಪೊನೆಂಟ್‌ಗೆ ಸರ್ವರ್ ಆಕ್ಷನ್ ಅನ್ನು ಇಂಪೋರ್ಟ್ ಮಾಡಿ ಮತ್ತು ಅದನ್ನು ಫಾರ್ಮ್ ಎಲಿಮೆಂಟ್‌ನ `action` ಪ್ರೊಪ್ ಆಗಿ ಬಳಸಿ. ಫಾರ್ಮ್‌ನ ಸ್ಥಿತಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಬಳಕೆದಾರರಿಗೆ ಪ್ರತಿಕ್ರಿಯೆ ಪ್ರದರ್ಶಿಸಲು `useFormState` ಹುಕ್ ಅನ್ನು ಬಳಸಬಹುದು.

// app/page.jsx
'use client';

import { useFormState } from 'react-dom';
import { createMessage } from './actions';

export default function Home() {
  const [state, formAction] = useFormState(createMessage, {message: ''});

  return (
    
{state?.message &&

{state.message}

}
); }

ವಿವರಣೆ:

3. ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸಿ

ಸರ್ವರ್ ಆಕ್ಷನ್‌ನೊಳಗೆ, ನೀವು `FormData` API ಬಳಸಿ ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು. ಈ API ಫಾರ್ಮ್ ಫೀಲ್ಡ್‌ಗಳ ಮೌಲ್ಯಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುಕೂಲಕರ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ.

'use server'

export async function createMessage(prevState, formData) {
  const message = formData.get('message');

  // ...
}

4. ಎರರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ

ಸರ್ವರ್ ಆಕ್ಷನ್‌ನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಸಮಯದಲ್ಲಿ ಸಂಭವಿಸಬಹುದಾದ ಎರರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು `try...catch` ಬ್ಲಾಕ್‌ಗಳನ್ನು ಬಳಸಿ. ಬಳಕೆದಾರರಿಗೆ ಅದನ್ನು ಪ್ರದರ್ಶಿಸಲು ಸ್ಟೇಟ್ ಆಬ್ಜೆಕ್ಟ್‌ನಲ್ಲಿ ಎರರ್ ಸಂದೇಶವನ್ನು ಹಿಂತಿರುಗಿಸಿ.

'use server'

export async function createMessage(prevState, formData) {
  const message = formData.get('message');

  try {
    // ...
  } catch (e) {
    return { message: 'Failed to save message' };
  }
}

5. ಡೇಟಾವನ್ನು ರಿವ್ಯಾಲಿಡೇಟ್ ಮಾಡಿ

ಒಂದು ಸರ್ವರ್ ಆಕ್ಷನ್ ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಬದಲಾಯಿಸಿದ ನಂತರ, UI ಇತ್ತೀಚಿನ ಬದಲಾವಣೆಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನೀವು ಡೇಟಾ ಕ್ಯಾಶ್ ಅನ್ನು ಮರುಮೌಲ್ಯಮಾಪನ ಮಾಡಬೇಕಾಗಬಹುದು. ನಿರ್ದಿಷ್ಟ ಮಾರ್ಗಗಳು ಅಥವಾ ಟ್ಯಾಗ್‌ಗಳನ್ನು ಮರುಮೌಲ್ಯಮಾಪನ ಮಾಡಲು `next/cache` ನಿಂದ `revalidatePath` ಅಥವಾ `revalidateTag` ಫಂಕ್ಷನ್‌ಗಳನ್ನು ಬಳಸಿ.

'use server'

import { revalidatePath } from 'next/cache';

export async function createMessage(prevState, formData) {
  // ...
  revalidatePath('/'); // Clear the route cache
  // ...
}

ಸುಧಾರಿತ ಬಳಕೆ

ಡೇಟಾವನ್ನು ಬದಲಾಯಿಸುವುದು

ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳು ಡೇಟಾಬೇಸ್‌ಗಳನ್ನು ಅಥವಾ ಬಾಹ್ಯ API ಗಳನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡುವಂತಹ ಡೇಟಾವನ್ನು ಬದಲಾಯಿಸಲು ವಿಶೇಷವಾಗಿ ಸೂಕ್ತವಾಗಿವೆ. ನೀವು ಸರ್ವರ್-ಸೈಡ್ ಲಾಜಿಕ್ ಅಗತ್ಯವಿರುವ ಸಂಕೀರ್ಣ ಡೇಟಾ ಬದಲಾವಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳನ್ನು ಬಳಸಬಹುದು, ಉದಾಹರಣೆಗೆ ಡೇಟಾವನ್ನು ಮೌಲ್ಯೀಕರಿಸುವುದು, ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಮಾಡುವುದು ಅಥವಾ ಬಹು ಡೇಟಾ ಮೂಲಗಳೊಂದಿಗೆ ಸಂವಹನ ಮಾಡುವುದು. ನೀವು ಬಳಕೆದಾರರ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಬೇಕಾದ ಮತ್ತು ದೃಢೀಕರಣ ಇಮೇಲ್ ಕಳುಹಿಸಬೇಕಾದ ಸನ್ನಿವೇಶವನ್ನು ಪರಿಗಣಿಸಿ. ಒಂದು ಸರ್ವರ್ ಆಕ್ಷನ್ ಡೇಟಾಬೇಸ್ ಅಪ್‌ಡೇಟ್ ಮತ್ತು ಇಮೇಲ್ ಕಳುಹಿಸುವ ಪ್ರಕ್ರಿಯೆ ಎರಡನ್ನೂ ಒಂದೇ, ಅಟಾಮಿಕ್ ಕಾರ್ಯಾಚರಣೆಯಲ್ಲಿ ನಿರ್ವಹಿಸಬಹುದು.

ದೃಢೀಕರಣ ಮತ್ತು ಅಧಿಕಾರ

ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳನ್ನು ದೃಢೀಕರಣ ಮತ್ತು ಅಧಿಕಾರವನ್ನು ನಿರ್ವಹಿಸಲು ಬಳಸಬಹುದು. ಸರ್ವರ್‌ನಲ್ಲಿ ದೃಢೀಕರಣ ಮತ್ತು ಅಧಿಕಾರ ಪರಿಶೀಲನೆಗಳನ್ನು ಮಾಡುವ ಮೂಲಕ, ಅಧಿಕೃತ ಬಳಕೆದಾರರಿಗೆ ಮಾತ್ರ ಸೂಕ್ಷ್ಮ ಡೇಟಾ ಮತ್ತು ಕಾರ್ಯಚಟುವಟಿಕೆಗಳಿಗೆ ಪ್ರವೇಶವಿದೆ ಎಂದು ನೀವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು. ನೀವು ಬಳಕೆದಾರರ ಲಾಗಿನ್‌ಗಳು, ನೋಂದಣಿ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಮರುಹೊಂದಿಕೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳನ್ನು ಬಳಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಒಂದು ಸರ್ವರ್ ಆಕ್ಷನ್ ಡೇಟಾಬೇಸ್‌ನ ವಿರುದ್ಧ ಬಳಕೆದಾರರ ರುಜುವಾತುಗಳನ್ನು ಪರಿಶೀಲಿಸಬಹುದು ಮತ್ತು ನಂತರದ ವಿನಂತಿಗಳನ್ನು ದೃಢೀಕರಿಸಲು ಬಳಸಬಹುದಾದ ಟೋಕನ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸಬಹುದು.

ಎಡ್ಜ್ ಫಂಕ್ಷನ್ಸ್

ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳನ್ನು ಎಡ್ಜ್ ಫಂಕ್ಷನ್‌ಗಳಾಗಿ ನಿಯೋಜಿಸಬಹುದು, ಇವು ನಿಮ್ಮ ಬಳಕೆದಾರರಿಗೆ ಹತ್ತಿರವಿರುವ ಸರ್ವರ್‌ಗಳ ಜಾಗತಿಕ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಇದು ವಿಶೇಷವಾಗಿ ಭೌಗೋಳಿಕವಾಗಿ ಚದುರಿದ ಸ್ಥಳಗಳಲ್ಲಿರುವ ಬಳಕೆದಾರರಿಗೆ ಲೇಟೆನ್ಸಿಯನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ. ರಿಯಲ್-ಟೈಮ್ ಡೇಟಾ ಅಪ್‌ಡೇಟ್‌ಗಳು ಅಥವಾ ವೈಯಕ್ತಿಕಗೊಳಿಸಿದ ವಿಷಯ ವಿತರಣೆಯಂತಹ ಕಡಿಮೆ ಲೇಟೆನ್ಸಿ ಅಗತ್ಯವಿರುವ ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಎಡ್ಜ್ ಫಂಕ್ಷನ್‌ಗಳು ಸೂಕ್ತವಾಗಿವೆ. Next.js ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳನ್ನು ಎಡ್ಜ್ ಫಂಕ್ಷನ್‌ಗಳಾಗಿ ನಿಯೋಜಿಸಲು ಅಂತರ್ನಿರ್ಮಿತ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಸ್ಟ್ರೀಮಿಂಗ್

ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳು ಸ್ಟ್ರೀಮಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ, ಇದು ಡೇಟಾ ಲಭ್ಯವಾದಂತೆ ಅದನ್ನು ಕ್ಲೈಂಟ್‌ಗೆ ತುಣುಕುಗಳಲ್ಲಿ ಕಳುಹಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ನ ಗ್ರಹಿಸಿದ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಬಹುದು, ವಿಶೇಷವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುವ ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳಿಗೆ. ದೊಡ್ಡ ಡೇಟಾಸೆಟ್‌ಗಳು ಅಥವಾ ಸಂಕೀರ್ಣ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸ್ಟ್ರೀಮಿಂಗ್ ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಹುಡುಕಾಟ ಫಲಿತಾಂಶಗಳನ್ನು ಡೇಟಾಬೇಸ್‌ನಿಂದ ಹಿಂಪಡೆದಂತೆ ಕ್ಲೈಂಟ್‌ಗೆ ಸ್ಟ್ರೀಮ್ ಮಾಡಬಹುದು, ಇದರಿಂದ ಹೆಚ್ಚು ಸ್ಪಂದನಾಶೀಲ ಬಳಕೆದಾರ ಅನುಭವವನ್ನು ಒದಗಿಸಬಹುದು.

ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು

ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್ಸ್ ಬಳಸುವಾಗ ಅನುಸರಿಸಬೇಕಾದ ಕೆಲವು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು ಇಲ್ಲಿವೆ:

ನೈಜ-ಪ್ರಪಂಚದ ಉದಾಹರಣೆಗಳು

ವಿವಿಧ ರೀತಿಯ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳನ್ನು ಹೇಗೆ ಬಳಸಬಹುದು ಎಂಬುದರ ಕೆಲವು ನೈಜ-ಪ್ರಪಂಚದ ಉದಾಹರಣೆಗಳನ್ನು ಪರಿಗಣಿಸೋಣ:

ಇ-ಕಾಮರ್ಸ್ ಅಪ್ಲಿಕೇಶನ್

ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ಅಪ್ಲಿಕೇಶನ್

ಕಂಟೆಂಟ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಸಿಸ್ಟಮ್ (CMS)

ಅಂತರಾಷ್ಟ್ರೀಕರಣದ ಪರಿಗಣನೆಗಳು

ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರಿಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಾಗ, ಅಂತರಾಷ್ಟ್ರೀಕರಣ (i18n) ಮತ್ತು ಸ್ಥಳೀಕರಣ (l10n) ವನ್ನು ಪರಿಗಣಿಸುವುದು ಅತ್ಯಗತ್ಯ. ಅಂತರಾಷ್ಟ್ರೀಕರಣಗೊಂಡ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ರಿಯಾಕ್ಟ್ ಸರ್ವರ್ ಆಕ್ಷನ್‌ಗಳನ್ನು ಬಳಸಲು ಕೆಲವು ಪರಿಗಣನೆಗಳು ಇಲ್ಲಿವೆ:

ಉದಾಹರಣೆಗೆ, ದಿನಾಂಕದ ಇನ್‌ಪುಟ್ ಅಗತ್ಯವಿರುವ ಫಾರ್ಮ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ, ಸರ್ವರ್ ಆಕ್ಷನ್ ಬಳಕೆದಾರರ ಲೋಕೇಲ್‌ಗೆ ಅನುಗುಣವಾಗಿ ದಿನಾಂಕವನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು `Intl.DateTimeFormat` API ಅನ್ನು ಬಳಸಬಹುದು, ಬಳಕೆದಾರರ ಪ್ರಾದೇಶಿಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಲೆಕ್ಕಿಸದೆ ದಿನಾಂಕವನ್ನು ಸರಿಯಾಗಿ ಅರ್ಥೈಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.

ತೀರ್ಮಾನ

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