Что такое компоненты в REACT?
По своей сути, это структурные блоки приложения из которых и строится весь интерфейс. Вся сладость в том, что данные блоки потом очень удобно переиспользовать сколько угодно раз.
Получается так, что REACT проект собирается как конструктор из данных блоков (компонентов).
Компоненты могут быть классовыми и функциональными. На данный момент, более современным подходом считается использование функциональных компонентов, но в некоторых проектах, когда нужно ввести логику работы с классами, используются и классовые.
Компоненты могут быть вложенными друг в друга. При этом каждый компонент обладает своими свойствами и состояниями, которые возможно передавать от родительского компонента к дочернему. Все это позволяет создать иерархию компонентов, облегчающую разработку и масштабирование приложения.
По своей сути, это структурные блоки приложения из которых и строится весь интерфейс. Вся сладость в том, что данные блоки потом очень удобно переиспользовать сколько угодно раз.
Получается так, что REACT проект собирается как конструктор из данных блоков (компонентов).
Компоненты могут быть классовыми и функциональными. На данный момент, более современным подходом считается использование функциональных компонентов, но в некоторых проектах, когда нужно ввести логику работы с классами, используются и классовые.
Компоненты могут быть вложенными друг в друга. При этом каждый компонент обладает своими свойствами и состояниями, которые возможно передавать от родительского компонента к дочернему. Все это позволяет создать иерархию компонентов, облегчающую разработку и масштабирование приложения.
👍2
В React, "props" (сокращение от "properties") - это способ передачи данных от родительского компонента к дочернему компоненту. Props являются неизменяемыми и представляют собой объект, содержащий все переданные родительским компонентом значения.
Пример использования props в React:
В этом примере компонент
Пример использования props в React:
import React from 'react';
// Пример функционального компонента, который принимает props
function Greeting(props) {
return <h1>Hello, {props.name}!</h1>;
}
// Пример использования компонента Greeting с передачей значения через props
function App() {
return (
<div>
<Greeting name="Alice" />
<Greeting name="Bob" />
</div>
);
}
export default App;
В этом примере компонент
Greeting
принимает name
через props
, и значение name
передается из родительского компонента App
. Когда Greeting
используется дважды в App
, каждый раз передается разное значение name
, и компонент Greeting
отображает приветствие с этим значением.👍7
Хуки (hooks) в React - это функции, которые позволяют вам использовать состояние и другие возможности React без написания классов.
Хуки позволяют вам переиспользовать логику состояния, эффектов и других функций между различными компонентами.
Некоторые из самых популярных хуков в React:
1. useState: Этот хук позволяет добавить состояние в функциональный компонент. Он возвращает пару значений: текущее состояние и функцию, которая позволяет обновить это состояние.
2. useEffect: Этот хук позволяет выполнять побочные эффекты в функциональном компоненте. Например выполнения запросов к API или подписки на события.
3. useContext: Этот хук позволяет использовать контекст в функциональном компоненте (передавать данные через дерево компонентов без необходимости передачи пропсов через каждый уровень).
4. useRef: Этот хук создает изменяемый объект, который будет сохраняться между рендерами компонента. Он полезен для доступа к DOM-элементам или для хранения любых мутабельных значений.
Хуки позволяют вам переиспользовать логику состояния, эффектов и других функций между различными компонентами.
Некоторые из самых популярных хуков в React:
1. useState: Этот хук позволяет добавить состояние в функциональный компонент. Он возвращает пару значений: текущее состояние и функцию, которая позволяет обновить это состояние.
2. useEffect: Этот хук позволяет выполнять побочные эффекты в функциональном компоненте. Например выполнения запросов к API или подписки на события.
3. useContext: Этот хук позволяет использовать контекст в функциональном компоненте (передавать данные через дерево компонентов без необходимости передачи пропсов через каждый уровень).
4. useRef: Этот хук создает изменяемый объект, который будет сохраняться между рендерами компонента. Он полезен для доступа к DOM-элементам или для хранения любых мутабельных значений.
🔥4
Принцип работы Redux включает в себя следующие основные концепции:
1. Actions - это простые объекты, которые описывают, что произошло в приложении. Они отправляются в store с помощью функции dispatch.
2. Reducers - это чистые функции, которые принимают текущее состояние и действие, и возвращают новое состояние. Они обрабатывают действия и обновляют состояние в store.
3. Store - это объект, который содержит текущее состояние вашего приложения. Он также позволяет подписываться на изменения состояния и обновлять его с помощью метода dispatch.
Как именно это работает?!
Все изменения состояния происходят путем отправки действий в store, которые затем обрабатываются редьюсерами для обновления состояния.
1. Actions - это простые объекты, которые описывают, что произошло в приложении. Они отправляются в store с помощью функции dispatch.
2. Reducers - это чистые функции, которые принимают текущее состояние и действие, и возвращают новое состояние. Они обрабатывают действия и обновляют состояние в store.
3. Store - это объект, который содержит текущее состояние вашего приложения. Он также позволяет подписываться на изменения состояния и обновлять его с помощью метода dispatch.
Как именно это работает?!
Все изменения состояния происходят путем отправки действий в store, которые затем обрабатываются редьюсерами для обновления состояния.
🔥5
Ну и напоследок, пример использования Redux в React для управления состоянием счётчика:
1. Установите необходимые пакеты:
1. Установите необходимые пакеты:
npm install redux react-redux2. Создайте файл
store.js
, который будет содержать конфигурацию Redux-хранилища:import { createStore } from 'redux';3. Создайте файл
import rootReducer from './reducers'; // Подключаем корневой редьюсер
const store = createStore(rootReducer); // Создаем хранилище с корневым редьюсером
export default store;
reducers.js
, где будут объединены все редьюсеры:import { combineReducers } from 'redux';4. Создайте файл
import counterReducer from './counterReducer'; // Подключаем редьюсер для счетчика
const rootReducer = combineReducers({
counter: counterReducer, // Добавляем редьюсер для счетчика в корневой редьюсер
// Другие редьюсеры...
});
export default rootReducer;
counterReducer.js
, который будет содержать редьюсер для счетчика:const initialState = {5. Используйте Redux в компонентах React:
count: 0,
};
const counterReducer = (state = initialState, action) => {
switch (action.type) {
case 'INCREMENT':
return { ...state, count: state.count + 1 };
case 'DECREMENT':
return { ...state, count: state.count - 1 };
default:
return state;
}
};
export default counterReducer;
import React from 'react';
import { useSelector, useDispatch } from 'react-redux';
const Counter = () => {
const count = useSelector((state) => state.counter.count); // Получаем состояние счетчика из хранилища
const dispatch = useDispatch(); // Получаем функцию для отправки действий
return (
<div>
<p>Count: {count}</p>
<button onClick={() => dispatch({ type: 'INCREMENT' })}>Increment</button>
<button onClick={() => dispatch({ type: 'DECREMENT' })}>Decrement</button>
</div>
);
};
export default Counter;
🔥7
Всем хороших выходных!
Как вам неделя REACT?
Предлагайте новые темы в комментариях.
Как вам неделя REACT?
Предлагайте новые темы в комментариях.
Anonymous Poll
20%
Тема была полезна. Получилось сделать приложение на react
40%
Интересно, но ещё не начинал(а) его использовать.
24%
Полезно просто для развития
16%
Не интересуюсь данной темой
❤2
Различия SQL и NoSQL
Для начала разберемся что это такое:
- SQL - это реляционная бд (данные хранятся в таблицах с определенной структурой). Между таблицами есть связи в виде отношений.
- NoSQL - это нереляционные бд (данные хранятся в виде набора документов). Документы не имеют структуры и не связаны отношениями.
В сравнении с NoSQL, SQL бд дают большую гибкость в формировании запросов на работу с данными.
NoSQL масштабируемая горизонтально за счёт добавления новых узлов (серверов), а SQL вертикально путем увеличения мощности сервера.
NoSQL требуют меньшего администрирования и проще, так как не следуют правилам ACID (атомарность, согласованность, изоляция, долговечность).
Для начала разберемся что это такое:
- SQL - это реляционная бд (данные хранятся в таблицах с определенной структурой). Между таблицами есть связи в виде отношений.
- NoSQL - это нереляционные бд (данные хранятся в виде набора документов). Документы не имеют структуры и не связаны отношениями.
В сравнении с NoSQL, SQL бд дают большую гибкость в формировании запросов на работу с данными.
NoSQL масштабируемая горизонтально за счёт добавления новых узлов (серверов), а SQL вертикально путем увеличения мощности сервера.
NoSQL требуют меньшего администрирования и проще, так как не следуют правилам ACID (атомарность, согласованность, изоляция, долговечность).
🔥6
Существует несколько популярных NoSQL баз данных, каждая из которых предназначена для различных типов приложений и задач.
Топ 3 самых популярных NoSQL баз данных:
1. MongoDB: MongoDB - это документо-ориентированная база данных, которая хранит данные в формате JSON-подобных документов. Она широко используется для веб-приложений, аналитики данных и других приложений, где требуется гибкая структура данных.
2. Cassandra: Apache Cassandra - это распределенная база данных с открытым исходным кодом, предназначенная для обработки больших объемов данных и обеспечения высокой доступности. Она часто используется для хранения временных рядов, журналов событий и других приложений, где требуется масштабируемость и отказоустойчивость.
3. Redis: Redis - это ключ-значение база данных с открытым исходным кодом, которая обеспечивает высокую скорость доступа к данным. Она часто используется для кэширования данных, обработки сообщений и других приложений, где требуется быстрый доступ к данным.
Топ 3 самых популярных NoSQL баз данных:
1. MongoDB: MongoDB - это документо-ориентированная база данных, которая хранит данные в формате JSON-подобных документов. Она широко используется для веб-приложений, аналитики данных и других приложений, где требуется гибкая структура данных.
2. Cassandra: Apache Cassandra - это распределенная база данных с открытым исходным кодом, предназначенная для обработки больших объемов данных и обеспечения высокой доступности. Она часто используется для хранения временных рядов, журналов событий и других приложений, где требуется масштабируемость и отказоустойчивость.
3. Redis: Redis - это ключ-значение база данных с открытым исходным кодом, которая обеспечивает высокую скорость доступа к данным. Она часто используется для кэширования данных, обработки сообщений и других приложений, где требуется быстрый доступ к данным.
👍7
Пример использования MongoDB.
Благодарю за предоставленный код:
@archersnotes
Благодарю за предоставленный код:
@archersnotes
from pymongo import MongoClient
class UserRepo:
def __init__(self, database):
self.database = database
def create(
self,
full_name: str,
age: int,
):
return self.database.users.insert_one({
"full_name": full_name,
"age": age,
})
def get_adults(self):
return self.database.users.find({
"age": {"$gte": 18}, # greater than or equal to 18
})
def get_database():
client = MongoClient(host="127.0.0.1", port=27017)
database = client.text_app
return database
def main():
users = UserRepo(get_database())
users.create("Александр Михаилович", 16)
users.create("Александр Сергеевич", 18)
adults = users.get_adults()
for i in adults:
print(i["full_name"]) # Александр Сергеевич
if __name__ == '__main__':
main()
😱2
Cassandra - это распределенная база данных, разработанная для обработки огромных объемов данных на нескольких серверах без единой точки отказа.
Основные принципы, на которых основана Cassandra, включают горизонтальное масштабирование, высокую доступность и отказоустойчивость. Она использует модель данных типа "ключ-значение" с широкими столбцами, что позволяет эффективно хранить и обрабатывать большие объемы данных.
Cassandra поддерживает язык запросов CQL (Cassandra Query Language), который похож на SQL, что упрощает работу с базой данных для разработчиков, знакомых с SQL.
Основные принципы, на которых основана Cassandra, включают горизонтальное масштабирование, высокую доступность и отказоустойчивость. Она использует модель данных типа "ключ-значение" с широкими столбцами, что позволяет эффективно хранить и обрабатывать большие объемы данных.
Cassandra поддерживает язык запросов CQL (Cassandra Query Language), который похож на SQL, что упрощает работу с базой данных для разработчиков, знакомых с SQL.
🔥2
Данные в Cassandra хранятся в виде пар "ключ-значение". Каждая запись в Cassandra представляет собой строку данных, которая содержит ключ и набор столбцов с соответствующими значениями.
Основные компоненты данных в Cassandra:
1. Ключ: Каждая запись в Cassandra имеет уникальный ключ, по которому она идентифицируется. Ключ может быть простым (состоящим из одного значения) или составным (состоящим из нескольких значений).
2. Столбцы: Данные в Cassandra хранятся в виде столбцов, которые могут быть широкими (wide columns). Это означает, что каждая запись может содержать большое количество столбцов, и каждый столбец может иметь различный тип данных.
3. Строки: В Cassandra данные организованы в виде строк, которые содержат ключ и соответствующие столбцы. Каждая строка может содержать несколько столбцов, и количество столбцов может быть разным для разных строк.
Пример структуры данных в Cassandra:
В данном примере "user123" является ключом, а "name", "age" и "email" - это столбцы с соответствующими значениями.
Основные компоненты данных в Cassandra:
1. Ключ: Каждая запись в Cassandra имеет уникальный ключ, по которому она идентифицируется. Ключ может быть простым (состоящим из одного значения) или составным (состоящим из нескольких значений).
2. Столбцы: Данные в Cassandra хранятся в виде столбцов, которые могут быть широкими (wide columns). Это означает, что каждая запись может содержать большое количество столбцов, и каждый столбец может иметь различный тип данных.
3. Строки: В Cassandra данные организованы в виде строк, которые содержат ключ и соответствующие столбцы. Каждая строка может содержать несколько столбцов, и количество столбцов может быть разным для разных строк.
Пример структуры данных в Cassandra:
{
"key": "user123",
"columns": {
"name": "John Doe",
"age": 30,
"email": "johndoe@example.com"
}
}
В данном примере "user123" является ключом, а "name", "age" и "email" - это столбцы с соответствующими значениями.
👍2