TG Telegram Group & Channel
Библиотека программиста | программирование, кодинг, разработка | United States America (US)
Create: Update:

🎮 Управление состоянием с использованием useReducer

Проблема: управление сложным состоянием в React-приложении может стать трудным и запутанным, особенно при наличии множества состояний и действий.

Решение: в книге «Learn React Hooks, 2nd Edition» автор предлагает использовать хук useReducer для централизованного управления состоянием. Это позволяет более эффективно обрабатывать сложные состояния и действия.

Пример кода:

import React, { useReducer } from 'react';

const initialState = { count: 0 };

function reducer(state, action) {
switch (action.type) {
case 'increment':
return { count: state.count + 1 };
case 'decrement':
return { count: state.count - 1 };
default:
throw new Error();
}
}

function Counter() {
const [state, dispatch] = useReducer(reducer, initialState);

return (
<>
<p>Count: {state.count}</p>
<button onClick={() => dispatch({ type: 'increment' })}>Increment</button>
<button onClick={() => dispatch({ type: 'decrement' })}>Decrement</button>
</>
);
}


Преимущества:

— Централизованное управление состоянием.
— Лёгкость в добавлении новых состояний и действий.
— Чистота и предсказуемость кода.

➡️ Больше полезных книг — в нашем канале @progbook

🐸 Библиотека программиста #буст

🎮 Управление состоянием с использованием useReducer

Проблема: управление сложным состоянием в React-приложении может стать трудным и запутанным, особенно при наличии множества состояний и действий.

Решение: в книге «Learn React Hooks, 2nd Edition» автор предлагает использовать хук useReducer для централизованного управления состоянием. Это позволяет более эффективно обрабатывать сложные состояния и действия.

Пример кода:

import React, { useReducer } from 'react';

const initialState = { count: 0 };

function reducer(state, action) {
switch (action.type) {
case 'increment':
return { count: state.count + 1 };
case 'decrement':
return { count: state.count - 1 };
default:
throw new Error();
}
}

function Counter() {
const [state, dispatch] = useReducer(reducer, initialState);

return (
<>
<p>Count: {state.count}</p>
<button onClick={() => dispatch({ type: 'increment' })}>Increment</button>
<button onClick={() => dispatch({ type: 'decrement' })}>Decrement</button>
</>
);
}


Преимущества:

— Централизованное управление состоянием.
— Лёгкость в добавлении новых состояний и действий.
— Чистота и предсказуемость кода.

➡️ Больше полезных книг — в нашем канале @progbook

🐸 Библиотека программиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4🤔3


>>Click here to continue<<

Библиотека программиста | программирование, кодинг, разработка




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)