{"id":16030,"date":"2022-02-02T17:41:00","date_gmt":"2022-02-02T10:41:00","guid":{"rendered":"https:\/\/blog.tinohost.com\/?p=7240"},"modified":"2024-01-12T13:46:25","modified_gmt":"2024-01-12T06:46:25","slug":"react-native-la-gi","status":"publish","type":"post","link":"https:\/\/tino.vn\/blog\/react-native-la-gi\/","title":{"rendered":"React Native l\u00e0 g\u00ec? T\u1ed5ng quan v\u1ec1 \u01b0u \u0111i\u1ec3m, h\u1ea1n ch\u1ebf c\u1ee7a React Native"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>N\u1ebfu b\u1ea1n quan t\u00e2m \u0111\u1ebfn nh\u1eefng n\u1ec1n t\u1ea3ng c\u00f4ng ngh\u1ec7 m\u1edbi ph\u1ee5c v\u1ee5 cho c\u00e1c thi\u1ebft b\u1ecb smartphone, React Native ch\u1eafc ch\u1eafn s\u1ebd \u0111em \u0111\u1ebfn cho b\u1ea1n r\u1ea5t nhi\u1ec1u c\u00e2u h\u1ecfi v\u1ec1 c\u00f4ng ngh\u1ec7 n\u00e0y \u0111\u1ea5y! \u0110i c\u00f9ng s\u1ef1 ph\u00e1t tri\u1ec3n c\u1ee7a c\u00f4ng ngh\u1ec7, Tino Group s\u1ebd gi\u1ea3i \u0111\u00e1p React Native l\u00e0 g\u00ec c\u0169ng nh\u01b0 h\u01b0\u1edbng d\u1eabn s\u1eed d\u1ee5ng c\u00f4ng ngh\u1ec7 React Native c\u01a1 b\u1ea3n gi\u00fap b\u1ea1n nh\u00e9!<\/strong><\/p>\n\n\n\n<h2 id=\"T\u00ecm_hi\u1ec3u_v\u1ec1_React_Native\"><strong>T\u00ecm hi\u1ec3u v\u1ec1 React Native<\/strong><\/h2>\n\n\n\n<h3 id=\"React_Native_l\u00e0_g\u00ec?&nbsp;\"><strong>React Native l\u00e0 g\u00ec?&nbsp;<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">React Native l\u00e0 m\u1ed9t framework (khung c\u00f4ng vi\u1ec7c) ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng di \u0111\u1ed9ng \u0111a n\u1ec1n t\u1ea3ng, cho ph\u00e9p b\u1ea1n x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng di \u0111\u1ed9ng b\u1eb1ng vi\u1ec7c s\u1eed d\u1ee5ng ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh<a href=\"https:\/\/tino.vn\/blog\/javascript-la-gi\/\" data-type=\"post\" data-id=\"47711\" target=\"_blank\" rel=\"noreferrer noopener\"> JavaScript<\/a> v\u00e0 s\u1eed d\u1ee5ng c\u00e1c th\u00e0nh ph\u1ea7n giao di\u1ec7n \u0111\u01b0\u1ee3c t\u00e1i s\u1eed d\u1ee5ng. Framework n\u00e0y do c\u1ed9ng \u0111\u1ed3ng Facebook v\u00e0 m\u00e3 ngu\u1ed3n m\u1edf ph\u00e1t tri\u1ec3n. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"700\" height=\"400\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-01.webp\" alt=\"react-native-ho-tro-phat-trien-ung-dung-da-nen-tang\" class=\"wp-image-83896\" style=\"width:700px;height:auto\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-01.webp 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-01-300x171.webp 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\">React Native h\u1ed7 tr\u1ee3 ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng \u0111a n\u1ec1n t\u1ea3ng<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u0110i\u1ec3m n\u1ed5i b\u1eadt c\u1ee7a React Native l\u00e0 kh\u1ea3 n\u0103ng chia s\u1ebb m\u00e3 ngu\u1ed3n gi\u1eefa c\u00e1c n\u1ec1n t\u1ea3ng kh\u00e1c nhau nh\u01b0 <a href=\"https:\/\/tino.vn\/blog\/phan-mem-theo-doi-dien-thoai\/\" target=\"_blank\" data-type=\"post\" data-id=\"40735\" rel=\"noreferrer noopener\">iOS <\/a>v\u00e0 <a href=\"https:\/\/tino.vn\/blog\/cach-tai-xingtu-tren-iphone-android\/\" target=\"_blank\" data-type=\"post\" data-id=\"71319\" rel=\"noreferrer noopener\">Android<\/a>. Thay v\u00ec vi\u1ebft m\u00e3 cho t\u1eebng n\u1ec1n t\u1ea3ng m\u1ed9t c\u00e1ch ri\u00eang bi\u1ec7t, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng m\u1ed9t c\u01a1 s\u1edf m\u00e3 ngu\u1ed3n chung \u0111\u1ec3 x\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng tr\u00ean c\u1ea3 hai h\u1ec7 \u0111i\u1ec1u h\u00e0nh.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00e1ch ho\u1ea1t \u0111\u1ed9ng c\u1ee7a React Native d\u1ef1a tr\u00ean nguy\u00ean t\u1eafc &#8220;learn once, write anywhere&#8221; (h\u1ecdc m\u1ed9t l\u1ea7n, vi\u1ebft \u1edf b\u1ea5t k\u1ef3 \u0111\u00e2u). B\u1ea1n s\u1ebd s\u1eed d\u1ee5ng c\u00e1c th\u00e0nh ph\u1ea7n giao di\u1ec7n \u0111\u01b0\u1ee3c cung c\u1ea5p b\u1edfi React Native \u0111\u1ec3 x\u00e2y d\u1ef1ng giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng c\u1ee7a \u1ee9ng d\u1ee5ng. React Native s\u1ebd chuy\u1ec3n \u0111\u1ed5i c\u00e1c th\u00e0nh ph\u1ea7n n\u00e0y th\u00e0nh m\u00e3 \u0111\u1eb7c t\u1ea3 cho n\u1ec1n t\u1ea3ng c\u1ee5 th\u1ec3, gi\u00fap hi\u1ec3n th\u1ecb giao di\u1ec7n tr\u00ean c\u00e1c thi\u1ebft b\u1ecb kh\u00e1c nhau.<\/p>\n\n\n\n<h3 id=\"React_Native_ho\u1ea1t_\u0111\u1ed9ng_nh\u01b0_th\u1ebf_n\u00e0o?\"><strong>React Native ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">React Native ho\u1ea1t \u0111\u1ed9ng b\u1eb1ng c\u00e1ch k\u1ebft h\u1ee3p s\u1ef1 m\u1ea1nh m\u1ebd c\u1ee7a React &#8211; m\u1ed9t th\u01b0 vi\u1ec7n giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng d\u1ef1a tr\u00ean JavaScript. B\u00ean c\u1ea1nh \u0111\u00f3, React Native c\u00f2n l\u00e0 vi\u1ec7c s\u1eed d\u1ee5ng c\u00e1c th\u00e0nh ph\u1ea7n native \u0111\u1ec3 hi\u1ec3n th\u1ecb giao di\u1ec7n tr\u00ean c\u00e1c n\u1ec1n t\u1ea3ng di \u0111\u1ed9ng kh\u00e1c nhau. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1ch React Native ho\u1ea1t \u0111\u1ed9ng:<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<ul class=\"wp-block-list\">\n<li><strong>Khai b\u00e1o Giao di\u1ec7n v\u1edbi JSX:<\/strong> B\u1ea1n s\u1eed d\u1ee5ng JSX (JavaScript XML) \u0111\u1ec3 \u0111\u1ecbnh ngh\u0129a giao di\u1ec7n c\u1ee7a \u1ee9ng d\u1ee5ng. JSX cho ph\u00e9p b\u1ea1n vi\u1ebft m\u00e3 t\u01b0\u01a1ng t\u1ef1 HTML \u0111\u1ec3 t\u1ea1o ra c\u00e1c th\u00e0nh ph\u1ea7n giao di\u1ec7n nh\u01b0 n\u00fat, v\u0103n b\u1ea3n, h\u00ecnh \u1ea3nh v\u00e0 c\u00e1c th\u00e0nh ph\u1ea7n t\u01b0\u01a1ng t\u1ef1.<\/li>\n\n\n\n<li><strong>X\u00e2y d\u1ef1ng Components:<\/strong> B\u1ea1n x\u00e2y d\u1ef1ng c\u00e1c th\u00e0nh ph\u1ea7n giao di\u1ec7n b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u00e1c th\u00e0nh ph\u1ea7n \u0111\u01b0\u1ee3c cung c\u1ea5p b\u1edfi React Native. C\u00e1c th\u00e0nh ph\u1ea7n n\u00e0y bao g\u1ed3m c\u00e1c th\u00e0nh ph\u1ea7n c\u01a1 b\u1ea3n nh\u01b0 <code>View<\/code>, <code>Text<\/code>, <code>Image<\/code>, c\u0169ng nh\u01b0 c\u00e1c th\u00e0nh ph\u1ea7n t\u00f9y ch\u1ec9nh m\u00e0 b\u1ea1n c\u00f3 th\u1ec3 t\u1ea1o.<\/li>\n\n\n\n<li><strong>Virtual DOM:<\/strong> React Native s\u1eed d\u1ee5ng m\u1ed9t c\u01a1 ch\u1ebf g\u1ecdi l\u00e0 Virtual DOM \u0111\u1ec3 theo d\u00f5i s\u1ef1 thay \u0111\u1ed5i trong giao di\u1ec7n c\u1ee7a b\u1ea1n. Virtual DOM l\u00e0 m\u1ed9t phi\u00ean b\u1ea3n \u1ea3o c\u1ee7a c\u00e2y giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng th\u1eadt, \u0111\u01b0\u1ee3c duy\u1ec7t v\u00e0 c\u1eadp nh\u1eadt m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3 \u0111\u1ec3 gi\u1ea3m thi\u1ec3u vi\u1ec7c t\u01b0\u01a1ng t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi DOM th\u1eadt tr\u00ean c\u00e1c thi\u1ebft b\u1ecb di \u0111\u1ed9ng.<\/li>\n\n\n\n<li><strong>Bridge v\u00e0 Native Modules:<\/strong> Khi c\u00e1c thay \u0111\u1ed5i trong Virtual DOM x\u1ea3y ra, React Native s\u1eed d\u1ee5ng m\u1ed9t th\u00e0nh ph\u1ea7n g\u1ecdi l\u00e0 &#8220;Bridge&#8221; \u0111\u1ec3 giao ti\u1ebfp v\u1edbi c\u00e1c API native c\u1ee7a t\u1eebng n\u1ec1n t\u1ea3ng (iOS v\u00e0 Android). N\u1ebfu c\u1ea7n, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng Native Modules \u0111\u1ec3 vi\u1ebft m\u00e3 native cho c\u00e1c t\u00ednh n\u0103ng \u0111\u1eb7c bi\u1ec7t ho\u1eb7c t\u1ed1i \u01b0u hi\u1ec7u su\u1ea5t.<\/li>\n\n\n\n<li><strong>Render th\u00e0nh ph\u1ea7n Native:<\/strong> Sau khi React Native t\u1ea1o ra c\u00e1c m\u00e3 t\u01b0\u01a1ng \u1ee9ng v\u1edbi giao di\u1ec7n c\u1ee7a b\u1ea1n, n\u00f3 s\u1ebd s\u1eed d\u1ee5ng c\u00e1c th\u00e0nh ph\u1ea7n native c\u1ee7a t\u1eebng n\u1ec1n t\u1ea3ng \u0111\u1ec3 hi\u1ec3n th\u1ecb giao di\u1ec7n. \u0110i\u1ec1u n\u00e0y gi\u00fap \u1ee9ng d\u1ee5ng c\u00f3 hi\u1ec7u su\u1ea5t g\u1ea7n nh\u01b0 c\u00e1c \u1ee9ng d\u1ee5ng native.<\/li>\n\n\n\n<li><strong>Hot Reloading v\u00e0 \u0111i\u1ec1u khi\u1ec3n tr\u1ea1ng th\u00e1i:<\/strong> React Native h\u1ed7 tr\u1ee3 t\u00ednh n\u0103ng hot reloading, cho ph\u00e9p b\u1ea1n th\u1ea5y k\u1ebft qu\u1ea3 ngay l\u1eadp t\u1ee9c khi b\u1ea1n thay \u0111\u1ed5i m\u00e3 ngu\u1ed3n. B\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng React&#8217;s state management, b\u1ea1n c\u00f3 th\u1ec3 c\u1eadp nh\u1eadt tr\u1ea1ng th\u00e1i c\u1ee7a \u1ee9ng d\u1ee5ng v\u00e0 t\u1ef1 \u0111\u1ed9ng c\u1eadp nh\u1eadt giao di\u1ec7n d\u1ef1a tr\u00ean tr\u1ea1ng th\u00e1i m\u1edbi.<\/li>\n<\/ul>\n<\/div><\/div>\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<h3 id=\"Nh\u1eefng_kh\u00e1i_ni\u1ec7m_li\u00ean_quan_c\u1ea7n_bi\u1ebft\"><strong>Nh\u1eefng kh\u00e1i ni\u1ec7m li\u00ean quan c\u1ea7n bi\u1ebft<\/strong><\/h3>\n\n\n\n<h4 id=\"Native_App&nbsp;\"><strong>Native App&nbsp;<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u00e2y l\u00e0 t\u00ean g\u1ecdi d\u00e0nh cho nh\u1eefng \u1ee9ng d\u1ee5ng \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng v\u00e0 ph\u00e1t tri\u1ec3n b\u1eb1ng nh\u1eefng c\u00f4ng c\u1ee5 do ch\u00ednh nh\u00e0 ph\u00e1t tri\u1ec3n cung c\u1ea5p cho l\u1eadp tr\u00ecnh vi\u00ean (developer). Hai nh\u00e0 ph\u00e1t tri\u1ec3n App h\u00e0ng \u0111\u1ea7u th\u1ebf gi\u1edbi hi\u1ec7n nay l\u00e0 Android v\u00e0 iOs.<\/p>\n\n\n\n<h4 id=\"Hybrid_App_l\u00e0_g\u00ec?\"><strong>Hybrid App l\u00e0 g\u00ec?<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u00e2y l\u00e0 s\u1ef1 k\u1ebft h\u1ee3p gi\u1eefa \u1ee9ng d\u1ee5ng Web v\u00e0 \u1ee9ng d\u1ee5ng mobile. Ngh\u0129a l\u00e0 ng\u01b0\u1eddi d\u00f9ng v\u1eeba c\u00f3 th\u1ec3 c\u00e0i \u0111\u1eb7t l\u00ean \u0111i\u1ec7n tho\u1ea1i c\u1ee7a m\u00ecnh gi\u1ed1ng nh\u01b0 l\u00e0 nh\u1eefng \u1ee9ng d\u1ee5ng Native b\u00ecnh th\u01b0\u1eddng, v\u1eeba c\u00f3 th\u1ec3 t\u00ecm th\u1ea5y ch\u00fang \u1edf nh\u1eefng kho \u1ee9ng d\u1ee5ng tr\u1ea3 ph\u00ed.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 id=\"T\u1ed5ng_quan_\u01b0u_\u0111i\u1ec3m,_h\u1ea1n_ch\u1ebf_c\u1ee7a_React_Native\"><strong>T\u1ed5ng quan \u01b0u \u0111i\u1ec3m, h\u1ea1n ch\u1ebf c\u1ee7a React Native<\/strong><\/h2>\n\n\n\n<h3 id=\"\u01afu_\u0111i\u1ec3m\"><strong>\u01afu \u0111i\u1ec3m<\/strong><\/h3>\n\n\n\n<h4 id=\"C\u00f3_th\u1ec3_t\u00e1i_s\u1eed_d\u1ee5ng_code\"><strong>C\u00f3 th\u1ec3 t\u00e1i s\u1eed d\u1ee5ng code<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">React Native cho ph\u00e9p c\u00e1c developer c\u00f3 th\u1ec3 t\u00e1i s\u1eed d\u1ee5ng code trong khi ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng \u0111a n\u1ec1n t\u1ea3ng. \u0110\u1eb7c bi\u1ec7t, developer c\u00f3 th\u1ec3 t\u00e1i s\u1eed d\u1ee5ng h\u1ea7u nh\u01b0 80-90% c\u00e1c \u0111o\u1ea1n code thay v\u00ec ph\u1ea3i vi\u1ebft v\u00e0 t\u1ea1o c\u00e1c \u1ee9ng d\u1ee5ng ri\u00eang bi\u1ec7t cho c\u00e1c n\u1ec1n t\u1ea3ng kh\u00e1c nhau.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u01afu \u0111i\u1ec3m n\u00e0y gi\u00fap ng\u01b0\u1eddi d\u00f9ng:<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<ul class=\"wp-block-list\">\n<li>Ti\u1ebft ki\u1ec7m th\u1eddi gian v\u00e0 gi\u1ea3m chi ph\u00ed ph\u00e1t tri\u1ec3n c\u1ee7a m\u1ed9t \u1ee9ng d\u1ee5ng.<\/li>\n\n\n\n<li>T\u1eadn d\u1ee5ng ngu\u1ed3n nh\u00e2n l\u1ef1c t\u1ed1t h\u01a1n<\/li>\n\n\n\n<li>Duy tr\u00ec \u00edt code h\u01a1n, \u00edt bugs h\u01a1n<\/li>\n\n\n\n<li>C\u00e1c t\u00ednh n\u0103ng trong c\u1ea3 2 platforms c\u0169ng t\u01b0\u01a1ng t\u1ef1 nhau.<\/li>\n<\/ul>\n<\/div><\/div>\n<\/div><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"400\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-02.webp\" alt=\"\" class=\"wp-image-83897\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-02.webp 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-02-300x171.webp 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\">React Native gi\u00fap ng\u01b0\u1eddi d\u00f9ng ti\u1ebft ki\u1ec7m th\u1eddi gian<\/figcaption><\/figure>\n<\/div>\n\n\n<h4 id=\"C\u1ed9ng_\u0111\u1ed3ng_ng\u01b0\u1eddi_d\u00f9ng_l\u1edbn\"><strong>C\u1ed9ng \u0111\u1ed3ng ng\u01b0\u1eddi d\u00f9ng l\u1edbn<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">React Native \u0111\u01b0\u1ee3c \u0111\u00e1nh gi\u00e1 l\u00e0 m\u1ed9t trong nh\u1eefng Framework \u0111\u01b0\u1ee3c y\u00eau th\u00edch nh\u1ea5t (kh\u1ea3o s\u00e1t c\u1ee7a stack overflow v\u00e0o n\u0103m 2019).&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nh\u1edd c\u1ed9ng \u0111\u1ed3ng ng\u01b0\u1eddi d\u00f9ng r\u1ea5t l\u1edbn tr\u00ean to\u00e0n th\u1ebf gi\u1edbi, b\u1ea1n c\u00f3 th\u1ec3 t\u00ecm s\u1ef1 h\u1ed7 tr\u1ee3 n\u1ebfu g\u1eb7p ph\u1ea3i bugs.&nbsp;<\/p>\n\n\n\n<h4 id=\"T\u00ednh_\u1ed5n_\u0111\u1ecbnh_v\u00e0_t\u1ed1i_\u01b0u\"><strong>T\u00ednh \u1ed5n \u0111\u1ecbnh v\u00e0 t\u1ed1i \u01b0u<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u01b0\u1ee3c ph\u00e1t tri\u1ec3n b\u1edfi Facebook, React Native c\u00f3 hi\u1ec7u n\u0103ng \u1ed5n \u0111\u1ecbnh kh\u00e1 cao.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<ul class=\"wp-block-list\">\n<li>M\u00e3&nbsp; React Native gi\u00fap \u0111\u01a1n gi\u1ea3n h\u00f3a qu\u00e1 tr\u00ecnh x\u1eed l\u00fd d\u1eef li\u1ec7u.&nbsp;<\/li>\n\n\n\n<li>\u0110\u1ed9i ng\u0169 ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng kh\u00f4ng qu\u00e1 l\u1edbn.<\/li>\n\n\n\n<li>X\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng \u00edt native code nh\u1ea5t cho nhi\u1ec1u h\u1ec7 \u0111i\u1ec1u h\u00e0nh kh\u00e1c nhau.<\/li>\n\n\n\n<li>Tr\u1ea3i nghi\u1ec7m ng\u01b0\u1eddi d\u00f9ng t\u1ed1t h\u01a1n khi so s\u00e1nh v\u1edbi \u1ee9ng d\u1ee5ng Hybrids<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<h3 id=\"H\u1ea1n_ch\u1ebf\"><strong>H\u1ea1n ch\u1ebf<\/strong><\/h3>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<ul class=\"wp-block-list\">\n<li>Y\u00eau c\u1ea7u Native code.<\/li>\n\n\n\n<li>Hi\u1ec7u n\u0103ng k\u00e9m h\u01a1n so v\u1edbi Native App.<\/li>\n\n\n\n<li>B\u1ea3o m\u1eadt ch\u01b0a th\u1eadt s\u1ef1 t\u1ed1t do d\u00f9ng JavaScript. Do s\u1eed d\u1ee5ng JavaScript, ng\u01b0\u1eddi d\u00f9ng c\u0169ng s\u1ebd b\u1ecb \u1ea3nh h\u01b0\u1edfng b\u1edfi nh\u1eefng \u0111\u1eb7c \u0111i\u1ec3m c\u1ee7a JavaScript: d\u1ec5 l\u00e0m d\u1ec5 sai, d\u1eabn \u0111\u1ebfn kh\u00f3 duy tr\u00ec v\u1ec1 sau.&nbsp;<\/li>\n\n\n\n<li>Qu\u1ea3n l\u00fd b\u1ed9 nh\u1edb.<\/li>\n\n\n\n<li>T\u00f9y bi\u1ebfn ch\u01b0a th\u1eadt s\u1ef1 t\u1ed1t \u1edf m\u1ed9t s\u1ed1 module.<\/li>\n\n\n\n<li>Kh\u00f4ng th\u00edch h\u1ee3p cho c\u00e1c app c\u1ea7n n\u0103ng l\u1ef1c t\u00ednh to\u00e1n cao (hash, crypto, etc).<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<h3 id=\"H\u01b0\u1edbng_d\u1eabn_c\u00e0i_\u0111\u1eb7t_React_Native&nbsp;\"><strong>H\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t React Native&nbsp;<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">React Native h\u1ed7 tr\u1ee3 \u0111a h\u1ec7 \u0111i\u1ec1u h\u00e0nh bao g\u1ed3m Windows, Linux, MacOS. Trong b\u00e0i vi\u1ebft n\u00e0y, TinoHost s\u1ebd h\u01b0\u1edbng d\u1eabn \u1ea1n c\u00e0i \u0111\u1eb7t React Native tr\u00ean h\u1ec7 \u0111i\u1ec1u h\u00e0nh Linux, s\u1eed d\u1ee5ng thu\u1ea7n code JS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u01b0\u1edbc 1:<\/strong> Download <a href=\"https:\/\/nodejs.org\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">NodeJS <\/a>v\u00e0 c\u00e0i \u0111\u1eb7t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u01b0\u1edbc 2:<\/strong> Ti\u1ebfn h\u00e0nh c\u00e0i \u0111\u1eb7t React Native App b\u1eb1ng c\u00fa ph\u00e1p<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install \u2013g create-react-native-app<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u01b0\u1edbc 3:<\/strong> T\u1ea1o v\u00e0 ch\u1ea1y project m\u1eabu<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>create-react-native-app AwesomeProJect\ncd AwesomeProject\nnpm start<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u01b0\u1edbc 4: Ch\u1ea1y project tr\u00ean \u0111i\u1ec7n tho\u1ea1<\/strong>i<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">B\u1ea5t k\u1ef3 thay \u0111\u1ed5i n\u00e0o \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n tr\u00ean App.js s\u1ebd \u0111\u01b0\u1ee3c t\u1ef1 \u0111\u1ed9ng c\u1eadp nh\u1eadt t\u01b0\u01a1ng \u1ee9ng trong \u1ee9ng d\u1ee5ng. Nh\u1edd \u01b0u \u0111i\u1ec3m n\u00e0y, developer c\u00f3 th\u1ec3 ti\u1ebft ki\u1ec7m \u0111\u01b0\u1ee3c th\u1eddi gian v\u00e0 t\u0103ng hi\u1ec7u qu\u1ea3 x\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"400\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-03.webp\" alt=\"cai-dat-react-native-don-gian\" class=\"wp-image-83898\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-03.webp 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-03-300x171.webp 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\">C\u00e0i \u0111\u1eb7t React Native \u0111\u01a1n gi\u1ea3n<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 id=\"\u0110i\u1ec3m_kh\u00e1c_bi\u1ec7t_c\u1ee7a_ReactJS_v\u00e0_React_Native_l\u00e0_g\u00ec?\"><strong>\u0110i\u1ec3m kh\u00e1c bi\u1ec7t c\u1ee7a ReactJS v\u00e0 React Native l\u00e0 g\u00ec?<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 id=\"Thi\u1ebft_l\u1eadp_v\u00e0_\u0111\u00f3ng_g\u00f3i_(setup_and_bundling)\"><strong>Thi\u1ebft l\u1eadp v\u00e0 \u0111\u00f3ng g\u00f3i (setup and bundling)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Thi\u1ebft l\u1eadp v\u00e0 v\u1eadn h\u00e0nh React Native kh\u00e1 nhanh ch\u00f3ng v\u00ec c\u00f3 s\u1eb5n t\u1ea5t c\u1ea3 nh\u1eefng module c\u1ea7n thi\u1ebft. Trong khi \u0111\u00f3, b\u1ea1n c\u1ea7n ph\u1ea3i x\u00e1c \u0111\u1ecbnh c\u00e1c module c\u1ea7n thi\u1ebft cho \u1ee9ng d\u1ee5ng c\u1ee7a m\u00ecnh khi d\u00f9ng<a href=\"https:\/\/tino.vn\/blog\/reactjs-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\"> ReactJS<\/a>.<\/p>\n\n\n\n<h3 id=\"DOM_v\u00e0_Styling\"><strong>DOM v\u00e0 Styling<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">React Native kh\u00f4ng d\u00f9ng HTML \u0111\u1ec3 render app m\u00e0 cung c\u1ea5p c\u00e1c component \u0111\u1ec3 thay th\u1ebf. Component React Native s\u1ebd map c\u00e1c UI iOS ho\u1eb7c Android \u0111\u01b0\u1ee3c render tr\u00ean \u1ee9ng d\u1ee5ng.<\/p>\n\n\n\n<h3 id=\"Animations_v\u00e0_Gestures\"><strong>Animations v\u00e0 Gestures<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Thay v\u00ec CSS animation, b\u1ea1n s\u1ebd ph\u1ea3i s\u1eed d\u1ee5ng JavaScript \u0111\u1ec3 t\u1ea1o c\u00e1c Component \u0111\u1ed9ng trong React Native.&nbsp;<\/p>\n\n\n\n<h3 id=\"\u0110i\u1ec1u_h\u01b0\u1edbng_(Navigation)\"><strong>\u0110i\u1ec1u h\u01b0\u1edbng (Navigation)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Navigator trong React Native cung c\u1ea5p t\u1ea5t c\u1ea3 nh\u1eefng g\u00ec m\u00e0 b\u1ea1n c\u1ea7n \u0111\u1ec3 th\u1ef1c hi\u1ec7n vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i gi\u1eefa c\u00e1c Scene trong \u1ee9ng d\u1ee5ng.<\/p>\n\n\n\n<h3 id=\"N\u1ec1n_t\u1ea3ng_code_ri\u00eang_(Platform_specific_code)\"><strong>N\u1ec1n t\u1ea3ng code ri\u00eang (Platform specific code)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">React Native c\u00f3 kh\u1ea3 n\u0103ng ph\u00e1t hi\u1ec7n v\u00e0 n\u1ea1p \u0111\u00fang code cho n\u1ec1n t\u1ea3ng \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3.<\/p>\n<\/div><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"700\" height=\"400\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-04.webp\" alt=\"reactjs-va-react-native-co-nhieu-diem-khac-biet\" class=\"wp-image-83899\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-04.webp 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2024\/01\/react-native-la-gi-04-300x171.webp 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption class=\"wp-element-caption\">ReactJS v\u00e0 React Native c\u00f3 nhi\u1ec1u \u0111i\u1ec3m kh\u00e1c bi\u1ec7t<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Qua b\u00e0i vi\u1ebft tr\u00ean, Tino Group hy v\u1ecdng b\u1ea1n \u0111\u00e3 hi\u1ec3u React Native l\u00e0 g\u00ec c\u0169ng nh\u01b0 \u01b0u \u0111i\u1ec3m v\u00e0 h\u1ea1n ch\u1ebf c\u1ee7a framwork n\u00e0y. H\u00e3y ti\u1ebfp t\u1ee5c \u0111\u1ed3ng h\u00e0nh c\u00f9ng Tino Group \u0111\u1ec3 \u0111\u00f3n \u0111\u1ecdc nh\u1eefng b\u00e0i vi\u1ebft hay v\u00e0 h\u1eefu \u00edch kh\u00e1c b\u1ea1n nh\u00e9!<\/p>\n\n\n\n<h2 id=\"Nh\u1eefng_c\u00e2u_h\u1ecfi_th\u01b0\u1eddng_g\u1eb7p_v\u1ec1_React_Native\"><strong>Nh\u1eefng c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 React Native<\/strong><\/h2>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"Component_l\u00e0_g\u00ec_trong_React_Native?\">Component l\u00e0 g\u00ec trong React Native?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Trong React Native, Component l\u00e0 c\u00e1c th\u00e0nh ph\u1ea7n giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng t\u00e1i s\u1eed d\u1ee5ng \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng b\u1eb1ng m\u00e3 ngu\u1ed3n JavaScript.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"C\u00f4ng_c\u1ee5_ph\u00e1t_tri\u1ec3n_React_Native_l\u00e0_g\u00ec?\">C\u00f4ng c\u1ee5 ph\u00e1t tri\u1ec3n React Native l\u00e0 g\u00ec?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">C\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng nh\u1eefng c\u00f4ng c\u1ee5 ho\u00e0n to\u00e0n mi\u1ec5n ph\u00ed nh\u01b0 sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hot Reloading<\/li>\n\n\n\n<li>Chrome Dev Tools \u0111\u1ec3 ki\u1ec3m tra y\u00eau c\u1ea7u m\u1ea1ng, hi\u1ec3n th\u1ecb b\u1ea3n ghi giao di\u1ec7n v\u00e0 d\u1eebng m\u00e3 tr\u00ean c\u00e1c tr\u00ecnh g\u1ee1 l\u1ed7i<\/li>\n\n\n\n<li>Redux DevTools \u0111\u1ec3 ki\u1ec3m tra tr\u1ea1ng th\u00e1i c\u1ee7a store Redux<\/li>\n<\/ul>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"React_Native_c\u00f3_h\u1ed7_tr\u1ee3_ph\u00e1t_tri\u1ec3n_c\u00e1c_\u1ee9ng_d\u1ee5ng_tr\u00f2_ch\u01a1i_kh\u00f4ng?\">React Native c\u00f3 h\u1ed7 tr\u1ee3 ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng tr\u00f2 ch\u01a1i kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">D\u00f9 ch\u1ee7 y\u1ebfu \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng cho ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng, nh\u01b0ng React Native c\u0169ng c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng tr\u00f2 ch\u01a1i \u0111\u01a1n gi\u1ea3n.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"React_Native_c\u00f3_mi\u1ec5n_ph\u00ed_s\u1eed_d\u1ee5ng_kh\u00f4ng?\">React Native c\u00f3 mi\u1ec5n ph\u00ed s\u1eed d\u1ee5ng kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">C\u00e2u tr\u1ea3 l\u1eddi l\u00e0: &#8220;C\u00f3!&#8221;. React Native l\u00e0 m\u1ed9t framework m\u00e3 ngu\u1ed3n m\u1edf, mi\u1ec5n ph\u00ed cho m\u1ecdi ng\u01b0\u1eddi s\u1eed d\u1ee5ng v\u00e0 ph\u00e1t tri\u1ec3n.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Component l\u00e0 g\u00ec trong React Native?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Trong React Native, Component l\u00e0 c\u00e1c th\u00e0nh ph\u1ea7n giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng t\u00e1i s\u1eed d\u1ee5ng \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng b\u1eb1ng m\u00e3 ngu\u1ed3n JavaScript.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"C\u00f4ng c\u1ee5 ph\u00e1t tri\u1ec3n React Native l\u00e0 g\u00ec?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>C\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng nh\u1eefng c\u00f4ng c\u1ee5 ho\u00e0n to\u00e0n mi\u1ec5n ph\u00ed nh\u01b0 sau:<\/p><ul><li>Hot Reloading<\/li><li>Chrome Dev Tools \u0111\u1ec3 ki\u1ec3m tra y\u00eau c\u1ea7u m\u1ea1ng, hi\u1ec3n th\u1ecb b\u1ea3n ghi giao di\u1ec7n v\u00e0 d\u1eebng m\u00e3 tr\u00ean c\u00e1c tr\u00ecnh g\u1ee1 l\u1ed7i<\/li><li>Redux DevTools \u0111\u1ec3 ki\u1ec3m tra tr\u1ea1ng th\u00e1i c\u1ee7a store Redux<\/li><\/ul>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"React Native c\u00f3 h\u1ed7 tr\u1ee3 ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng tr\u00f2 ch\u01a1i kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>D\u00f9 ch\u1ee7 y\u1ebfu \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng cho ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng, nh\u01b0ng React Native c\u0169ng c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng tr\u00f2 ch\u01a1i \u0111\u01a1n gi\u1ea3n.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"React Native c\u00f3 mi\u1ec5n ph\u00ed s\u1eed d\u1ee5ng kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>C\u00e2u tr\u1ea3 l\u1eddi l\u00e0: \\\"C\u00f3!\\\". React Native l\u00e0 m\u1ed9t framework m\u00e3 ngu\u1ed3n m\u1edf, mi\u1ec5n ph\u00ed cho m\u1ecdi ng\u01b0\u1eddi s\u1eed d\u1ee5ng v\u00e0 ph\u00e1t tri\u1ec3n.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n\n\n","protected":false},"excerpt":{"rendered":"<p>N\u1ebfu b\u1ea1n quan t\u00e2m \u0111\u1ebfn nh\u1eefng n\u1ec1n t\u1ea3ng c\u00f4ng ngh\u1ec7 m\u1edbi ph\u1ee5c v\u1ee5 cho c\u00e1c thi\u1ebft b\u1ecb smartphone, React Native ch\u1eafc ch\u1eafn s\u1ebd \u0111em \u0111\u1ebfn cho b\u1ea1n r\u1ea5t nhi\u1ec1u c\u00e2u h\u1ecfi v\u1ec1 c\u00f4ng ngh\u1ec7 n\u00e0y \u0111\u1ea5y! \u0110i c\u00f9ng s\u1ef1 ph\u00e1t tri\u1ec3n c\u1ee7a c\u00f4ng ngh\u1ec7, Tino Group s\u1ebd gi\u1ea3i \u0111\u00e1p React Native l\u00e0 g\u00ec c\u0169ng nh\u01b0 [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":83915,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5404],"tags":[6706],"class_list":["post-16030","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webmasters","tag-kien-thuc-lap-trinh"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/16030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=16030"}],"version-history":[{"count":0,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/16030\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/83915"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=16030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/categories?post=16030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=16030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}