Как да споделяме логиката между компонентите, използвайки персонализирани куки?

Aug 08, 2025

Остави съобщение

Споделянето на логиката между компонентите е решаващ аспект на изграждането на мащабируеми и поддържащи приложения за реагиране. Като доставчик на куки съм свидетел от първа ръка силата на персонализираните куки за постигане на тази цел. В тази публикация в блога ще се задълбоча как да споделя логиката между компонентите, използвайки персонализирани куки, предлагайки практически прозрения и реални - световни примери.

Разбиране на персонализирани куки

Преди да проучим как да споделяме логиката, нека разберем накратко какви са куките по поръчка. Персонализираните куки са JavaScript функции, които започват с думата „употреба“ и могат да извикват други куки. Те ви позволяват да извличате компонентна логика в функции за многократна употреба. Например, помислете за сценарий, при който множество компоненти трябва да се справят с валидирането на входната форма. Вместо да дублираме логиката на валидиране във всеки компонент, можем да създадем персонализирана кука.

import {Usestate} от'React '; const useInputValidation = (initalValue = '') => {const [стойност, setValue] = USESTATE (initalValue); const [isvalid, setisvalid] = usestate (true); const handleChange = (e) => {const inputValue = e.target.value; setValue (inputValue); // Прост пример за валидиране: Проверете дали входът не е празен setisvalid (inputvalue.trim ()! == ''); }; връщане {стойност, isvalid, handleChange}; }; експортиране по подразбиране за използване на използване по подразбиране;

В тази персонализирана кука капсулираме логиката на управлението на държавата и валидирането на входа. Всеки компонент, който трябва да се справи с валидирането на входа, вече може да използва тази кука, вместо да прилага логиката от нулата.

Споделяне на държавна логика

Един от основните случаи на използване на персонализирани куки е споделянето на състоятелна логика между компонентите. Състоятелната логика включва управление на държавата в рамките на компонент. Нека да разгледаме как можем да споделяме състоятелна логика, използвайки персонализирани куки.

Представете си, че имаме множество компоненти, които трябва да управляват видимостта на модала. Можем да създадем персонализирана кука за справяне с тази логика.

import {Usestate} от'React '; const useMoDalvisibility = () => {const [isvisible, setIsvisible] = usestate (false); const showModal = () => {setIsvisible (true); }; const hidemodal = () => {setIsvisible (false); }; връщане {isvisible, showmodal, hidemodal}; }; експортиране по подразбиране useMoDalvisibility;

Сега всеки компонент, който трябва да управлява видимостта на модала, може да използва тази персонализирана кука.

импортиране реагира от'React '; внасяне на UsemoDalvibility от './usemoDalvisibility'; const modalComponent = () => {const {isvisible, showmodal, hidemodal} = useMoDalvisibility (); return (<div> <button onclick = {showModal}> Показване на модален </бутон> {isvisible && (<div className = "modal"> <p> Модалното съдържание отива тук </p> <button onclick = {hideModal }> close modal </button> </div>)} </viv>); }; Експортиране по подразбиране ModalComponent;

Използвайки персонализираната кука, ние успешно споделихме държавната логика за управление на видимостта на модала между компонентите.

Споделяне на страна - логика на ефекта

Персонализираните куки също са отлични за споделяне на странична логика. Странични - ефекти включват неща като извличане на данни, абонаменти и манипулации на DOM.

Да речем, че имаме множество компоненти, които трябва да донесат данни от API. Можем да създадем персонализирана кука, която да обработва логиката на извличане на данни.

import {usestate, useeffect} от'React '; const useataFetching = (url) => {const [data, setData] = useState (null); const [isloading, setIsloading] = usestate (true); const [грешка, setError] = usestate (null); useeffect (() => {const fetchData = async () => {опитайте {const assion = чакайте fetch (url); if (! response.ok) {хвърлете нова грешка ('реакцията на мрежата не беше добре');} const result = Aleat asports.json (); setData (резултат); }; връщане {данни, isloading, грешка}; }; Експортиране по подразбиране useatafatching;

Сега всеки компонент, който трябва да донесе данни от API, може да използва тази персонализирана кука.

импортиране реагира от'React '; внасяне на употреба от './useatafatching'; const dataComponent = () => {const {data, isloading, грешка} = useatatafatching ('https://api.example.com/data'); ако (isLoading) {return <p> зареждане ... </p>; } if (грешка) {return <p> Грешка: {error.message} </p>; } return (<div> {data && <pre> {json.stringify (data, null, 2)} </pre>} </div>); }; Експортиране на DataComponent по подразбиране;

Практически приложения в индустрията за аксесоари за баня

Като доставчик на куки разбирам значението на практическите приложения. Например, в индустрията за аксесоари за баня можем да използваме персонализирани куки за управление на състоянието на списъците с продукти.

Да речем, че имаме компонент, който показва списък наАксесоари за баня куки за кърпии друг компонент, който се показваЗлатни куки за баня. Можем да създадем персонализирана кука за управление на филтрирането и сортирането на тези продукти.

new england bathroom accessoriesmatte black bathroom accessory set

import {Usestate} от'React '; const useproductfiltering = (initalProducts) => {const [продукти, setProducts] = Usestate (initalProducts); const [filter, setFilter] = useState (''); const handlefilterChange = (e) => {const filterValue = e.target.value; setFilter (filterValue); const filteredProducts = initalProducts.filter (product => product.name.tolowercase (). Включва (filterValue.tolowercase ())); setProducts (филтрирани продукти); }; връщане {продукти, филтър, handlefilterChange}; }; Експортиране по подразбиране useproductfiltering;

Сега както куките за кърпи, така и златните компоненти на куките за баня могат да използват тази персонализирана кука за управление на филтрирането на продуктите.

Заключение и призив за действие

В заключение, персонализираните куки са мощен инструмент за споделяне на логика между компонентите. Те подобряват повторната употреба на код, поддържането на поддръжката и правят нашите реактивни приложения по -мащабируеми. Като доставчик на куки се ангажирам да предоставя висококачествени решения за споделяне на логика във вашите проекти.

Ако се интересувате да научите повече за това как нашите персонализирани куки могат да се възползват от вашия бизнес или ако искате да започнете дискусия за обществени поръчки, не се колебайте да се свържете. Тук сме, за да ви помогнем да изградите по -добри приложения за реагиране с ефективно споделяне на логиката.

ЛИТЕРАТУРА

  • Реагирайте официалната документация за персонализирани куки
  • "React: нагоре и бягане" от Стоян Стефанов и Ева Порчело

Изпрати запитване