React kutubxonalari — toastify, slick, bootstrap

DarslarWeb dasturlash

React kutubxonalari — toastify, slick, bootstrap

Tayyor komponentlar: react-bootstrap/reactstrap, react-toastify (bildirishnomalar) va react-slick (karusel).

55 daqiqa
React — Dars 6

Tayyor komponentlardan foydalanish

Har narsani noldan yozmang — npm'da 2 million+ tayyor kutubxona bor. Bugun eng foydali 3 tasini qamrab olamiz.

bootstraptoastifyslicknpm i

Dars rejasi

6 ta mavzu
  1. 01Kutubxona nima uchun?
  2. 02react-bootstrap / reactstrap
  3. 03react-toastify — notifikatsiya
  4. 04react-slick — karusel
  5. 05CSS import qoidalari
  6. 06Kutubxona tanlash

1. Kutubxona nima uchun?

Modal, carousel, toast, date picker — bularni noldan yozish oylab vaqt oladi. React ekotizimida har bir muammo uchun tayyor va tekshirilgan yechim bor.

Tez

Bir qator kod bilan professional komponent olasiz.

Tekshirilgan

Minglab loyihalarda ishlatilgan, testdan o'tgan.

Qo'llab-quvvatlanadi

Bug fix, yangi feature'lar muntazam chiqib turadi.

2. react-bootstrap / reactstrap

Bootstrap — dunyodagi eng mashhur CSS framework. React uchun ikki mashhur wrapper bor: react-bootstrap va reactstrap. Ikkalasi ham Bootstrap komponentlarini React komponentlari sifatida beradi.

1# react-bootstrap o'rnatish
2npm install react-bootstrap bootstrap
3
4# yoki reactstrap
5npm install reactstrap bootstrap
src/main.jsx — CSS import (majburiy)
1import "bootstrap/dist/css/bootstrap.min.css";
2import React from "react";
3import ReactDOM from "react-dom/client";
4import App from "./App";
5
6ReactDOM.createRoot(document.getElementById("root")).render(<App />);
react-bootstrap misoli
1import { Button, Card, Container, Row, Col } from "react-bootstrap";
2
3function App() {
4 return (
5 <Container className="py-4">
6 <Row>
7 <Col md={6}>
8 <Card>
9 <Card.Img variant="top" src="/rasm.jpg" />
10 <Card.Body>
11 <Card.Title>Mahsulot</Card.Title>
12 <Card.Text>
13 Qisqa tavsif shu yerda.
14 </Card.Text>
15 <Button variant="primary">Sotib olish</Button>
16 <Button variant="outline-secondary" className="ms-2">
17 Batafsil
18 </Button>
19 </Card.Body>
20 </Card>
21 </Col>
22 </Row>
23 </Container>
24 );
25}
reactstrap misoli — sintaksis biroz boshqacha
1import { Button, Card, CardBody, CardTitle, CardText } from "reactstrap";
2
3function App() {
4 return (
5 <Card>
6 <CardBody>
7 <CardTitle tag="h5">Sarlavha</CardTitle>
8 <CardText>Matn</CardText>
9 <Button color="primary">Bosing</Button>
10 </CardBody>
11 </Card>
12 );
13}

3. react-toastify — notifikatsiya

Toast — ekran burchagida paydo bo'lib, bir necha sekunddan keyin yo'qoladigan xabar. «Saqlandi», «Xato!», «Yuklandi» kabi holatlar uchun ideal.

1npm install react-toastify
App.jsx
1import { ToastContainer, toast } from "react-toastify";
2import "react-toastify/dist/ReactToastify.css";
3
4function App() {
5 const muvaffaq = () => toast.success("Saqlandi!");
6 const xato = () => toast.error("Xato yuz berdi");
7 const ogohlik = () => toast.warning("Diqqat!");
8 const info = () => toast.info("Ma'lumot");
9
10 return (
11 <div>
12 <button onClick={muvaffaq}>Muvaffaqiyat</button>
13 <button onClick={xato}>Xato</button>
14 <button onClick={ogohlik}>Ogohlantirish</button>
15 <button onClick={info}>Ma'lumot</button>
16
17 {/* ToastContainer — 1 marta, odatda App ildizida */}
18 <ToastContainer
19 position="top-right"
20 autoClose={3000}
21 theme="colored"
22 />
23 </div>
24 );
25}

toast turlari

.success(), .error(), .warning(), .info(), .loading()

position

top-right, top-center, bottom-left va h.k.

autoClose

Millisekundda. false — qo'l bilan yopiladi.

theme

light, dark, colored — xabar rangi.

4. react-slick — karusel

1npm install react-slick slick-carousel
1import Slider from "react-slick";
2import "slick-carousel/slick/slick.css";
3import "slick-carousel/slick/slick-theme.css";
4
5function Galereya() {
6 const sozlamalar = {
7 dots: true, // pastdagi nuqtalar
8 infinite: true, // cheksiz aylanish
9 speed: 500, // animatsiya tezligi (ms)
10 slidesToShow: 3, // bir vaqtda ko'rsatiladigan
11 slidesToScroll: 1, // bir harakatda siljiydigan
12 autoplay: true,
13 autoplaySpeed: 3000,
14 responsive: [
15 { breakpoint: 768, settings: { slidesToShow: 1 } },
16 ],
17 };
18
19 const rasmlar = [
20 "/rasm1.jpg", "/rasm2.jpg", "/rasm3.jpg",
21 "/rasm4.jpg", "/rasm5.jpg",
22 ];
23
24 return (
25 <Slider {...sozlamalar}>
26 {rasmlar.map((src, i) => (
27 <div key={i}>
28 <img src={src} alt={`Slide ${i}`} style={{ width: "100%" }} />
29 </div>
30 ))}
31 </Slider>
32 );
33}

5. CSS import qoidalari

Har bir kutubxonaning o'z CSS fayli bor. Ularni albatta import qiling — aks holda ko'rinish buziladi.

main.jsx — hamma CSS'larni shu yerda
1// React + asosiy stil
2import "./index.css";
3
4// Bootstrap
5import "bootstrap/dist/css/bootstrap.min.css";
6
7// React Toastify
8import "react-toastify/dist/ReactToastify.css";
9
10// React Slick (2 ta fayl)
11import "slick-carousel/slick/slick.css";
12import "slick-carousel/slick/slick-theme.css";
13
14import React from "react";
15import ReactDOM from "react-dom/client";
16import App from "./App";
17
18ReactDOM.createRoot(document.getElementById("root")).render(<App />);

6. Kutubxona tanlash

Kutubxona tanlashdan oldin npmjs.com'dan yoki github'dan quyidagilarni tekshiring:

  • Haftalik yuklamalar soni — ko'p bo'lsa, ishonarli.
  • Oxirgi yangilanish sanasi — 6 oydan oshsa, ehtiyot bo'ling.
  • GitHub yulduzlari va ochiq muammolar (issues).
  • Hujjati bor-yo'qligi va sifatli namunalar.
  • Loyihangiz React versiyasi bilan mosligi.
Toast va karusel — jonli demo
Natijajonli

Kichik test

0 / 4

1.Kutubxonani o'rnatish uchun buyruq?

2.react-toastify'da xato xabari uchun qaysi metod?

3.Bootstrap stilini qayerda import qilish kerak?

4.ToastContainer nechta bo'lishi kerak?

Mustaqil ish

0 / 5