@narciso
Изменение состояния в Redux с помощью React-Redux можно сделать следующим образом:
1
|
const incrementCounter = () => ({ type: 'INCREMENT_COUNTER' }) |
1 2 3 4 5 6 7 8 9 10 |
const initialState = { counter: 0 } const counterReducer = (state = initialState, action) => { switch (action.type) { case 'INCREMENT_COUNTER': return { ...state, counter: state.counter + 1 } default: return state } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import { useDispatch } from 'react-redux' const Counter = () => { const dispatch = useDispatch() const handleClick = () => { dispatch(incrementCounter()) } return ( <div> <p>Counter: {counter}</p> <button onClick={handleClick}>Increment</button> </div> ) } |
1 2 3 4 5 6 7 |
import { useSelector } from 'react-redux' const Counter = () => { const counter = useSelector(state => state.counter) // ... } |
Обратите внимание, что использование функций useDispatch
и useSelector
требует, чтобы ваш компонент был внутри компонента Provider
, который был настроен для работы с хранилищем Redux.