Вы здесь:

Конспект https://www.geeksforgeeks.org/reactjs/react-redux-hooks-useselector-and-usedispatch/

Усовершентсвованный способ работы с Redux через useState.
Перехватчик useState - это функция, которая позволяет добавлять состояние к функциональному компоненту. Это АЛЬТЕРНАТИВА перехватчику useReducer, который является предпочтительным, когда нам требуется базовое обновление. С useReducer было так:

import React from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { increment } from '../actions/actions'; // import ACTION "increment" ( {type: 'INCREMENT'} )

const Example = () => {
    const counter = useSelector(state => state.counter); // USE_SELECTOR!!! будет изменяться при обновлении
    const dispatch = useDispatch(); // определение dispatch для отправки action
    ....
    const handleIncrement = () => {
        dispatch(increment()); // DISPATCH ACTION!!!! increment - функция создания action типа
                               //    export const toggleTask = id => ({
                               //      type: actions.TASK_TOGGLE,
                               //      payload: { id: id } // или так: payload: { id }
    });
    ....
};

С useState так:

  const [counter, setCounter] = useState('');
  const dispatch = useDispatch();
  ....
  const handleTaskTitleChange = (e) => {
    setCounter(e.target.value);
  }
  ....

Перехватчики useState используются для добавления переменных состояния в компоненты. Синтаксис:

const [state, setState] = useState(initialState);

Короткий пример:

const [count, setCount] = useState(0); // useState!!!

Полный пример:

import React, { useState } from "react";

function App() {
const [count, setCount] = useState(0); // useState!!!
const increment = () => setCount(count + 1);
const decrement = () => setCount(count - 1);

return (
<div>
    <h1>Count: {count}</h1> {/* Display the current count */}
    <button onClick={increment}>Increment</button> {/* Increment the count */}
    <button onClick={decrement}>Decrement</button> {/* Decrement the count */}
</div>
);
}

export default App;
  • useSelector - доступ к store
  • useDispatch - позволяет функциональным компонентам отправлять действия в хранилище Redux