Огляд React Хуків: Глибоке занурення в useState, useEffect та useContext

pic

Хуки React — це спеціальні функції, введені в React 16.8, які дозволяють використовувати стан та можливості життєвого циклу в функціональних компонентах, що усуває необхідність використання класових компонентів.

Що таке Хуки?

Хуки — це функції, які "підключаються" до стану та можливостей життєвого циклу React. Вони дозволяють вам:

  1. Керувати станом (useState).
  2. Обробляти побічні ефекти (useEffect).
  3. Ділитися логікою між компонентами без зміни їхньої структури (useContext і кастомні хуки).

Загальні Хуки React

1. useState: Керування станом компонента

Хук useState дозволяє функціональним компонентам мати локальний стан. Він повертає масив з двох елементів:

  • Поточний стан.
  • Функція для оновлення стану.

Синтаксис:

const 
Читати далі

Як керувати станом у React: порівняння Context API, Redux та Zustand

pic

Управління станом є критично важливим елементом при розробці додатків на React. Як тільки додатки стають складнішими, розробникам потрібно мати ефективні методи для управління станом через численні компоненти. Цей посібник порівнює три популярні рішення для управління станом: Context API, Redux та Zustand.

1. Context API: Вбудоване розподілення стану в React

Context API — це вбудоване рішення React для спільного використання стану між компонентами без необхідності передавати пропси через кожен рівень дерева компонентів.

Основні характеристики:

  • Вбудоване рішення: Не потребує додаткових бібліотек.
  • Ідеально для маленьких додатків: Призначене для додатків з обмеженими вимогами щодо обміну станом.
  • Простий API: Забезпечує
Читати далі

Будування форм у React: Керовані та некеровані компоненти

pic

Форми є важливою частиною веб-додатків, дозволяючи користувачам вводити дані. У React керування елементами форми можна здійснити через керовані або некеровані компоненти, кожен з яких має свої особливості та сценарії використання.

Що таке керовані компоненти?

Керований компонент — це елемент форми, значення якого контролюється станом компонента. React компонент керує даними форми через стан, забезпечуючи єдине джерело правди.

Основні характеристики:

  1. Керування через стан React: Значення вводу прив'язане до стану компонента.
  2. Оновлення в реальному часі: Зміни в полі вводу негайно оновлюють стан і навпаки.
  3. Повний контроль: Дозволяє валідацію та трансформації значення вводу під час введення користувачем.

Як працюють керовані

Читати далі

Як створити аутентифікацію через JWT за допомогою NestJS

pic

Аутентифікація — це одна з основ будь-якого безпечного додатку. Сьогодні ми розглянемо, як реалізувати аутентифікацію за допомогою JSON Web Token (JWT) у додатку, створеному з використанням NestJS. Я поділюсь кроками, яких я дотримувався для створення цієї функціональності, пояснюючи концепції та реалізацію на шляху.

Вступ

JWT — популярне та ефективне рішення для аутентифікації в сучасних додатках. Воно надає безпечний метод для обміну інформацією між надійними сторонами. Ідея проста: генерується токен для ідентифікації аутентифікованого користувача, який може бути перевірений сервером.

Але чому це важливо? Без належної аутентифікації будь-хто може отримати доступ до конфіденційної інформації або виконати обмежені дії у вашому додатку. JWT … Читати далі

Як компресія та кеш Redis покращили продуктивність мого додатку

pic

Вступ
Чи коли-небудь ви чекали, поки веб-сторінка завантажиться кілька секунд занадто довго, і вирішили її покинути? Ви не одні — дослідження показують, що 40% користувачів залишають сайт, якщо він завантажується більше ніж 3 секунди. Повільно завантажувані додатки можуть втратити користувачів і доходи, але ми знайшли рішення.

У цьому пості я розповім, як ми використовували Gzip для стиснення даних і Redis як кеш в пам'яті для значного покращення продуктивності нашого додатка. Обидві ці технології широко використовуються, перевірені часом і легко інтегруються в більшість сучасних веб-стеків.

1. Визначення проблеми

Ми почали помічати певний шаблон: під час пікових навантажень наш додаток працював … Читати далі

Архітектура, заснована на подіях, з Node.js

pic

Архітектура, заснована на подіях (Event-driven architecture, EDA), є популярним шаблоном проєктування для створення високошвидкісних і масштабованих систем. Node.js з його моделлю неблокуючого вводу/виводу ідеально підходить для створення таких систем, заснованих на подіях. У цій статті ми розглянемо, як використати можливості Node.js для реалізації EDA, ефективно використовувати вбудований клас EventEmitter і створювати власні системи подій для реальних застосувань.

Чому архітектура, заснована на подіях?

EDA обертається навколо концепції подій — дій або змін стану — які захоплюються та обробляються асинхронно. Такий підхід дає кілька переваг:

  • Масштабованість: Системи, засновані на подіях, декомпонують компоненти, що полегшує масштабування окремих частин.
  • Чутливість: Асинхронна обробка
Читати далі

Розкриваємо контент: знайомтесь з додатком для пошуку документів у Dropbox!

pic

Привіт, любителі документів! 🌟 Чи думали ви коли-небудь, як було б весело створити інструмент, який допомагає вам шукати документи у вашому Dropbox? Саме це я і зробив, створивши додаток для пошуку документів у Dropbox! Цей маленький проект – це все про те, щоб зробити пошук документів легким і приємним, отримуючи задоволення від самого процесу.

TLDR GITHUB ЛІНК: 😉 https://github.com/jhavinit/dropboxsearchfiles_realtime

Яка ідея?

Тож чому я вирішив зайнятися цим проектом? Чесно кажучи, це було просто для розваги! Я хотів створити щось круте, що допомогло б мені (а може й іншим) знаходити документи в Dropbox без усієї звичайної метушні. Це як … Читати далі

Посібник з розробки передових додатків: Всеохоплюючий керівництво для сучасної програмної інженерії

Вступ

Створення надійних, масштабованих і підтримуваних додатків вимагає стратегічного підходу в умовах швидко змінюваної сучасної розробки програмного забезпечення. Цей всебічний набір інструментів надає розробникам структурований метод для створення високопродуктивних мобільних та веб-додатків.

Шаблони конфігурації проєкту

Конфігурація проєкту мобільного додатка

{  
 "projectConfig": {  
 "version": "1.0.0",  
 "platforms": ["iOS", "Android"],  
 "minimumOSVersion": {  
 "iOS": "15.0",  
 "Android": "26"  
 }  
 },  
 "architecture": {  
 "pattern": "MVVM",  
 "dataFlow": "Unidirectional"  
 }  
}

Ключові стратегії робочого процесу розробки

1. Модульна структура проєкту

project-init/  
├── src/  
│ ├── app/  
│ ├── domain/  
│ └── data/  
├── tests/  
└── config/

2. Кращі практики розробки компонентів

  • Використовуйте React.memo для покращення продуктивності
  • Використовуйте TypeScript
Читати далі

Thai Address для всіх фреймворків

สวัสดีครับพี่ๆ 🙏 ทุกคนผมชื่อ “ภูมิ” นะครับ นี้ก็เป็นบทความแรกของผมเลย เนื่องจากผมมีปัญหาว่า ผมอยากใช้งาน earthchie/jquery.Thailand.js แต่ด้วยความที่พี่เขาเขียนขึ้นมาเพื่อใช้งานกับ JQuery และผมต้องการเอาไปใช้งานกับ JS Framework ที่หลากหลายไม่ว่าจะเป็น React, Vue, Angular แต่ก็มีพี่ๆหลายท่านทำ library ที่เป็น Auto Complete ที่ต่อยอดมาจาก earthchie/jquery.Thailand.js ทำออกมาดีเลยแหละ แต่ก็ใช้งานได้กับแค่ Framework นั้นๆ ซึ่งมันยังไม่ตรงใจผมเท่าไหร่ ผมอยากจะใช้งาน Thai Address กับ Antd ทั้งใน React, Vue หรือแม้กระทั้ง Angular

[

ระบบ Auto Complete ที่อยู่ไทย อย่างที่มันควรเป็น

Update 24 เมษา 60: ตอนนี้มีอัพเดตเพิ่มขึ้นเยอะมากๆ นับตั้งแต่วันที่ปล่อยบทความนี้ก็มีหลายๆ ท่านที่เข้ามาช่วยปรับปรุง…

medium.com

](/earthchie/ระบบ-auto-complete-ที่อยู่ไทย-อย่างที่มันควรเป็น-27360185d86a?source=post_page-----83b7556473ba--------------------------------)

ผมเลยตั้งคำถามขึ้นมาว่า 🤔 แล้วมันไม่มี library ที่เป็นเหมือนจุดกึ่งกลางเลยหรอที่สามารถใช้งานได้กับทุก Framework และสามารถเอาไป Custom ใส่ CSS Component ต่างๆได้ ที่ผมหาใกล้เคียงสุดก็จะเป็น thai-address-database ของทาง Sellsuki แต่พอผมเอาไปใช้งานกับพบว่าเวลาเรา import มันขึ้นตัวสีแดงๆ บอกไม่มี Type เนื่องจาก library นี้เขียนขึ้นมาด้วย JS เลยไม่มี Type ซึ่งมันขัดใจ ผมสุดๆ ผมเลยตัดสินใจ เออไหนๆก็ปีใหม่แล้ว ลองหน่อยละกัน ไม่เสียหายอะไรนิ

[

GitHub - Sellsuki/thai-address-database: ฐานข้อมูลที่อยู่ในไทย ไม่ต้องใช้ Server Side!

ฐานข้อมูลที่อยู่ในไทย ไม่ต้องใช้ Server Side!

Читати далі

Як зареєструвати музику як IP актив на платформі Story за допомогою TypeScript SDK

В цій статті ми проведемо вас через процес реєстрації музики як інтелектуальної власності (IP) на платформі Story за допомогою TypeScript SDK. Цей посібник базується на знаннях, отриманих у статті «Як зареєструвати IP на Story», тому перед тим, як почати, обов'язково ознайомтесь з тією статтею.

Попередні вимоги

Перед тим, як приступити до реєстрації музики, переконайтесь, що ви виконали наступні кроки:

  1. Пройшли посібник «Як зареєструвати IP на Story».
  2. Встановили TypeScript SDK для Story.
  3. Налаштували своє середовище розробки.

Покрокова інструкція

1. Налаштування метаданих

При реєстрації музики основна відмінність полягає у налаштуванні метаданих. Вам потрібно буде визначити ваші ipMetadata з додатковими параметрами, специфічними для … Читати далі