Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Redux: mapdispatchtoprops, state, props

Для чего используется функция connect в React Redux? Какие параметры принимает?

Этот вопрос проверяет понимание назначения функции connect в React Redux и ее роли в связывании компонентов с хранилищем (store).

Короткий ответ

connect связывает React-компоненты с состоянием и действиями Redux. Она принимает две функции: mapStateToProps для подключения состояния и mapDispatchToProps для передачи действий в компонент. В результате компонент получает доступ к необходимым данным и возможностям изменения состояния.

Длинный ответ

Функция connect из библиотеки React Redux — это HOC (Higher-Order Component), которая связывает компонент с хранилищем Redux. Она позволяет передавать состояние и действия Redux в компонент через пропсы.

connect принимает два основных параметра:

  • mapStateToProps:
    Это функция, которая определяет, какие данные из состояния Redux нужно передать в компонент. Она принимает текущее состояние хранилища как аргумент и возвращает объект, который будет добавлен в пропсы компонента.

    const mapStateToProps = (state) => ({
    	count: state.counter
    });
  • mapDispatchToProps:
    Это функция, которая передает методы для отправки действий (dispatch) в компонент. Она может быть функцией или объектом:

    const mapDispatchToProps = (dispatch) => ({
    	increment: () => dispatch({ type: 'INCREMENT' }),
    });

Пример использования:

import React from 'react';
import { connect } from 'react-redux';
function Counter({ count, increment }) {
	return (
		<div>
			<p>Count: {count}</p>
			<button onClick={increment}>Increment</button>
		</div>
	);
}
const mapStateToProps = (state) => ({
	count: state.counter,
});
const mapDispatchToProps = (dispatch) => ({
	increment: () => dispatch({ type: 'INCREMENT' }),
});
export default connect(mapStateToProps, mapDispatchToProps)(Counter);

В современном React чаще используются хуки useSelector и useDispatch, которые выполняют те же функции, что и connect, но через функциональные компоненты. Однако connect остается полезным, особенно в классических компонентах.

Уровень

  • Рейтинг:

    1

  • Сложность:

    5

Навыки

  • Redux

    Redux

Ключевые слова

#mapdispatchtoprops

#state

#props

Подпишись на React Developer в телеграм