Salah satu kekuatan terbesar React ialah seni bina berasaskan komponennya, yang membolehkan pembangun membina bahagian modular dan boleh guna semula UI. Komponen boleh guna semula bukan sahaja menjimatkan masa tetapi juga memastikan konsistensi merentas aplikasi anda. Dalam catatan blog ini, kami akan meneroka amalan terbaik untuk membina komponen boleh guna semula dalam React dan memberikan contoh pengekodan praktikal.
Sebelum menyelami kod, mari bincangkan mengapa komponen boleh guna semula penting:
Langkah pertama dalam membina komponen boleh guna semula ialah mengenal pasti elemen UI yang kerap digunakan merentas aplikasi anda. Mulakan dengan mencipta komponen ringkas dan serba lengkap.
Contoh: Komponen Butang
import React from 'react'; import PropTypes from 'prop-types'; import './Button.css'; const Button = ({ label, onClick, type = 'button' }) => ( <button className="btn" onClick={onClick} type={type}> {label} </button> ); Button.propTypes = { label: PropTypes.string.isRequired, onClick: PropTypes.func, type: PropTypes.oneOf(['button', 'submit', 'reset']), }; export default Button;
Untuk menjadikan komponen benar-benar boleh diguna semula, ia harus dikonfigurasikan melalui prop. Ini membolehkan anda menyesuaikan rupa dan gelagat komponen tanpa mengubah suai kod dalamannya.
Contoh: Komponen Butang Boleh Dikonfigurasikan
import React from 'react'; import PropTypes from 'prop-types'; import './Button.css'; const Button = ({ label, onClick, type = 'button', className = '', disabled = false }) => ( <button className={`btn ${className}`} onClick={onClick} type={type} disabled={disabled}> {label} </button> ); Button.propTypes = { label: PropTypes.string.isRequired, onClick: PropTypes.func, type: PropTypes.oneOf(['button', 'submit', 'reset']), className: PropTypes.string, disabled: PropTypes.bool, }; export default Button;
Di sini, komponen Button mempunyai prop tambahan seperti className dan dilumpuhkan, menjadikannya lebih fleksibel dan boleh disesuaikan dengan kes penggunaan yang berbeza.
Komposisi membolehkan anda membina komponen kompleks dengan menggabungkan komponen yang lebih ringkas. Pendekatan ini mengikut falsafah React untuk memecahkan UI kepada bahagian kecil yang boleh diurus.
Contoh: Komponen Kad
import React from 'react'; import PropTypes from 'prop-types'; import './Card.css'; const Card = ({ title, content, footer }) => ( <div className="card"> <div className="card-header">{title}</div> <div className="card-body">{content}</div> <div className="card-footer">{footer}</div> </div> ); Card.propTypes = { title: PropTypes.node.isRequired, content: PropTypes.node.isRequired, footer: PropTypes.node, }; export default Card;
Dalam contoh ini, komponen Kad terdiri daripada tajuk, kandungan dan prop pengaki, membolehkan anda menghantar sebarang elemen React untuk membuat reka letak kad tersuai.
Penyangga kanak-kanak membolehkan anda melepasi komponen dan elemen sebagai kanak-kanak, memberikan fleksibiliti yang lebih besar dalam cara komponen boleh guna semula anda digunakan.
Contoh: Komponen Modal
import React from 'react'; import PropTypes from 'prop-types'; import './Modal.css'; const Modal = ({ isOpen, onClose, children }) => { if (!isOpen) return null; return ( <div className="modal"> <div className="modal-content"> <button className="modal-close" onClick={onClose}>X</button> {children} </div> </div> ); }; Modal.propTypes = { isOpen: PropTypes.bool.isRequired, onClose: PropTypes.func.isRequired, children: PropTypes.node, }; export default Modal;
Komponen Modal menggunakan prop kanak-kanak untuk memaparkan sebarang kandungan yang dihantar kepadanya, menjadikannya komponen yang sangat fleksibel dan boleh digunakan semula untuk memaparkan dialog modal.
Menggayakan komponen boleh guna semula mungkin mencabar, tetapi menggunakan perpustakaan CSS-dalam-JS seperti komponen gaya atau Emosi boleh membantu mengurus gaya dengan cara modular.
Contoh: Komponen Butang Bergaya
import React from 'react'; import styled from 'styled-components'; const StyledButton = styled.button` background-color: ${(props) => (props.primary ? 'blue' : 'gray')}; color: white; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; &:hover { background-color: ${(props) => (props.primary ? 'darkblue' : 'darkgray')}; } `; const Button = ({ label, primary, onClick }) => ( <StyledButton primary={primary} onClick={onClick}> {label} </StyledButton> ); export default Button;
Dalam contoh ini, komponen StyledButton menggunakan komponen gaya untuk menggunakan gaya bersyarat berdasarkan prop utama, memberikan pendekatan yang bersih dan modular untuk penggayaan.
Membina komponen boleh guna semula dalam React ialah cara yang berkesan untuk mencipta aplikasi yang boleh diselenggara, konsisten dan cekap. Dengan bermula dengan komponen mudah, menjadikannya boleh dikonfigurasikan, memanfaatkan komposisi dan kanak-kanak, dan menggunakan teknik penggayaan yang berkesan, anda boleh mencipta perpustakaan komponen boleh guna semula yang akan menjimatkan masa dan usaha anda dalam proses pembangunan anda. Selain itu, mendokumentasikan komponen anda dengan alatan seperti Buku Cerita memastikan ia mudah difahami dan digunakan oleh orang lain.
Selamat mengekod!
Atas ialah kandungan terperinci Membina Komponen Boleh Digunakan Semula dalam React. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!