Latviešu

Uzziniet, kā ieviest React Progresīvo Uzlabošanu, lai veidotu vietnes, kas ir pieejamas, ātrdarbīgas un stabilas, pat ar atspējotu JavaScript vai sākotnējās ielādes laikā.

React Progresīvā Uzlabošana: JavaScript-Neatkarīgu Komponentu Veidošana

Mūsdienu tīmekļa izstrādes ainavā JavaScript ietvari, piemēram, React, ir visuresoši. Lai gan tie piedāvā jaudīgus rīkus dinamisku un interaktīvu lietotāja saskarņu veidošanai, paļaušanās tikai uz JavaScript var radīt problēmas ar pieejamību, veiktspēju un SEO. Šeit nāk palīgā Progresīvā Uzlabošana (PU). Progresīvā Uzlabošana ir tīmekļa izstrādes stratēģija, kas prioritizē vietnes pamatfunkcionalitātes un satura pieejamību visiem lietotājiem, neatkarīgi no viņu pārlūkprogrammas iespējām vai JavaScript pieejamības. React Progresīvā Uzlabošana koncentrējas uz tādu komponentu veidošanu, kas darbojas pat bez JavaScript, nodrošinot pamata pieredzi, kas pēc tam tiek uzlabota ar JavaScript, lai iegūtu bagātīgāku interaktivitāti.

Kas ir Progresīvā Uzlabošana?

Progresīvā uzlabošana nav jauns jēdziens. Tā ir filozofija, kas iestājas par vietņu veidošanu slāņos, sākot ar stabilu HTML un CSS pamatu. Šis pamats nodrošina, ka saturs ir pieejams visiem, ieskaitot lietotājus ar invaliditāti, tos, kuriem ir zema joslas platuma savienojumi, vai tos, kuriem ir atspējots JavaScript. Pēc tam JavaScript tiek pievienots kā uzlabojums, lai nodrošinātu bagātīgāku un interaktīvāku pieredzi. Iedomājieties to kā mājas būvniecību: jūs sākat ar pamata struktūru un pēc tam pievienojat smalkākas funkcijas.

Progresīvās Uzlabošanas Galvenie Principi:

Kāpēc Progresīvā Uzlabošana ir Svarīga React

React pēc noklusējuma ir uz JavaScript balstīts ietvars. Kad React lietojumprogramma tiek renderēta pārlūkprogrammā, parasti ir nepieciešams lejupielādēt, parsēt un izpildīt ievērojamu JavaScript daudzumu. Tas var radīt vairākas problēmas:

Progresīvās Uzlabošanas ieviešana React risina šīs problēmas, nodrošinot pamata pieredzi, kas ir funkcionāla pat bez JavaScript. Tas ne tikai uzlabo pieejamību un veiktspēju, bet arī uzlabo SEO, nodrošinot, ka meklētājprogrammas var viegli pārmeklēt un indeksēt saturu.

React Progresīvās Uzlabošanas Tehnikas

Var izmantot vairākas tehnikas, lai ieviestu Progresīvo Uzlabošanu React:

1. Servera Puses Renderēšana (SSR)

Servera Puses Renderēšana (SSR) ir tehnika, kurā React komponenti tiek renderēti serverī un rezultējošais HTML tiek nosūtīts klientam. Tas ļauj pārlūkprogrammai nekavējoties attēlot saturu, pat pirms JavaScript ir lejupielādēts un izpildīts. SSR sniedz vairākas priekšrocības:

Ietvari, piemēram, Next.js un Remix, padara SSR ieviešanu React salīdzinoši vienkāršu. Tie nodrošina iebūvētu atbalstu servera puses renderēšanai, maršrutēšanai un datu iegūšanai.

Piemērs, izmantojot Next.js:

Next.js automātiski apstrādā SSR lapām `pages` direktorijā. Šeit ir vienkāršs piemērs:


// pages/index.js
function HomePage() {
  return 

Welcome to my website!

; } export default HomePage;

Kad lietotājs apmeklē mājaslapu, Next.js renderēs `HomePage` komponentu serverī un nosūtīs rezultējošo HTML uz pārlūkprogrammu.

2. Statisko Vietņu Ģenerēšana (SSG)

Statisko Vietņu Ģenerēšana (SSG) ir tehnika, kurā React komponenti tiek renderēti būvēšanas laikā un rezultējošie HTML faili tiek pasniegti tieši klientam. Tas ir pat ātrāk nekā SSR, jo HTML ir iepriekš ģenerēts un neprasa nekādu servera puses apstrādi katrā pieprasījumā.

Ietvari, piemēram, Gatsby un Next.js, arī atbalsta SSG. Tie ļauj jums ģenerēt statiskus HTML failus no jūsu React komponentiem būvēšanas laikā.

Piemērs, izmantojot Next.js:

Lai izmantotu SSG Next.js, varat izmantot `getStaticProps` funkciju, lai iegūtu datus un nodotu tos savam komponentam kā rekvizītus (props).


// pages/blog/[id].js

export async function getStaticProps({ params }) {
  const postId = params.id;
  // Fetch data for the post from an API or database
  const post = { id: postId, title: `Post ${postId}`, content: `Content of post ${postId}` };

  return {
    props: {
      post,
    },
  };
}

export async function getStaticPaths() {
  // Define the possible values for the `id` parameter
  const paths = [
    { params: { id: '1' } },
    { params: { id: '2' } },
    { params: { id: '3' } },
  ];

  return {
    paths,
    fallback: false, // Set to true if you want to generate pages on demand
  };
}

function BlogPost({ post }) {
  return (
    

{post.title}

{post.content}

); } export default BlogPost;

Next.js ģenerēs statiskus HTML failus katram ierakstam būvēšanas laikā.

3. Gracioza Degradācija ar `

Tags `


Šis saturs tiks parādīts, ja JavaScript ir iespējots.

Jūs varat izmantot `

4. Nosacītā Renderēšana

Nosacītā renderēšana ļauj jums renderēt dažādus komponentus vai saturu, pamatojoties uz to, vai JavaScript ir iespējots. Jūs varat to izmantot, lai progresīvi uzlabotu lietotāja saskarni ar JavaScript funkcijām, vienlaikus nodrošinot pamata pieredzi bez JavaScript.


import { useState, useEffect } from 'react';

function MyComponent() {
  const [isJavaScriptEnabled, setIsJavaScriptEnabled] = useState(true);

  useEffect(() => {
    // Pārbauda, vai JavaScript ir iespējots. Šis ir vienkāršots piemērs.
    // Reālā scenārijā jūs, iespējams, vēlēsities izmantot robustāku metodi.
    setIsJavaScriptEnabled(typeof window !== 'undefined');
  }, []);

  return (
    
{isJavaScriptEnabled ? (

Šis saturs tiek renderēts ar JavaScript.

) : (

Šis saturs tiek renderēts bez JavaScript.

)}
); } export default MyComponent;

Šis piemērs izmanto `useState` un `useEffect` āķus, lai pārbaudītu, vai pārlūkprogrammā ir iespējots JavaScript. Pamatojoties uz to, tas renderē atšķirīgu saturu.

5. Semantiskā HTML Izmantošana

Semantisko HTML elementu izmantošana ir būtiska gan pieejamībai, gan Progresīvajai Uzlabošanai. Semantiskie HTML elementi piešķir saturam nozīmi un struktūru, padarot to vieglāk saprotamu palīgtehnoloģijām un meklētājprogrammu rāpuļprogrammām. Piemēram, izmantojot `

`, `