литературу перечитать на это тему _ потому что на этот вопрос, даже посидев подумав - не понимаю что ответить
import {combineReducers, createStore} from 'redux'
import {useDispatch} from "react-redux";
let initialState = {items: [{name: 'Dimych'}, {name: 'Ignat'}]}
const usersReducer = (state = initialState, action: any) => {
return state
}
const store = createStore(combineReducers({
users: usersReducer
}))
store.subscribe(() => {
const state =useDispatch(XXX)
console.log(state)
})
store.dispatch({type: 'ANY'})
//Что нужно написать вместо XXX, чтобы получить актуальный стейт?
Почитать следует документацию по редаксу где как раз все эти вещи из первых рук описаны const dispatch = useDispatch(); где-то: dispatch(твой экшн меняющий стейт); Ну и сходу замечание к тому, что стоит подтянуть знания реакта перед тем как изучать редакс, потому-что таких вопросов меньше не станет. Хуки нельзя использовать не на верхнем уровне комопнента что описано в документации по реакту отдельным пунктиком
useDispatch вернёт функцию, которому можно будет использовать в компоненте, вызывав её и передав туда нужный экшн что-бы обновить стейт
А вот получать актуальный стейт надо через селекторы
благодарю за помощь
это понятно, собственно по этому и замешательство
Там где ХХХ прописан, ничего не надо, просто пустой вызов функции. То что у тебя ANY , это тип экшена, который надо прописать в редюсере в свитч кейсе. У тебя редюссер просто возвращает Стейт, тебе надо прописать условия по входящему типу возврат стейта в обработанном виде
Обсуждают сегодня