Bagaimana untuk memaparkan Semula React View pada Saiz Pelayar: jQuery vs React-Centric Approach?

Mary-Kate Olsen
Lepaskan: 2024-10-19 19:37:01
asal
766 orang telah melayarinya

How to Re-render React View on Browser Resize: jQuery vs React-Centric Approach?

Memaparkan semula Paparan pada Ubah Saiz Penyemak Imbas dengan React

Dalam aplikasi React yang diberikan, matlamatnya adalah untuk memaparkan semula paparan apabila tetingkap penyemak imbas diubah saiznya. Ini membolehkan pelarasan dinamik elemen UI, seperti kedudukan blok dalam reka letak seperti Pinterest.

Menggunakan Pustaka Saiz Tetingkap:

Satu pendekatan biasa adalah untuk gunakan acara ubah saiz tetingkap jQuery, seperti yang dicadangkan dalam soalan. Dengan menambah kod berikut, anda boleh memaparkan semula komponen apabila tetingkap diubah saiz:

$( window ).resize(function() {
  // Re-render the component
});
Salin selepas log masuk

Pendekatan Berpusatkan Tindak Balas:

Walau bagaimanapun, terdapat lebih banyak pendekatan "React" untuk mencapai ini menggunakan useEffect Hook. Cangkuk ini membolehkan anda melakukan kesan sampingan dalam komponen, seperti mendengar peristiwa tetingkap. Untuk menggunakan useEffect untuk mengubah saiz tetingkap, anda boleh menentukan Cangkuk tersuai seperti ini:

import React, { useState, useEffect } from 'react';

function useWindowSize() {
  const [size, setSize] = useState([0, 0]);
  useEffect(() => {
    function updateSize() {
      setSize([window.innerWidth, window.innerHeight]);
    }
    window.addEventListener('resize', updateSize);
    updateSize();
    return () => window.removeEventListener('resize', updateSize);
  }, []);
  return size;
}
Salin selepas log masuk

Anda kemudian boleh menggunakan Cangkuk ini dalam komponen anda untuk mengakses saiz tetingkap dan mencetuskan pemaparan semula apabila ia berubah:

import React, { useState, useEffect } from 'react';
import { useWindowSize } from './useWindowSize';

function MyApp() {
  // ...
  const [windowSize, setWindowSize] = useWindowSize();

  useEffect(() => {
    // Re-render the component when the window size changes
    setWindowSize(useWindowSize());
  }, [windowSize]);

  return (
    // ...
  );
}
Salin selepas log masuk

Pendekatan ini lebih terkapsul dan mengikut corak kitaran hayat React, memastikan kod komponen anda bersih dan boleh diselenggara.

Atas ialah kandungan terperinci Bagaimana untuk memaparkan Semula React View pada Saiz Pelayar: jQuery vs React-Centric Approach?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!