пытаюсь добавить стор в приложение, чтобы по изменению данных в инпуте стор обновлялся. в компоненте инпута нужно доставать значение из стора, но стейт всегда пустой, при написании кода тайпСкрипт не подсвечивает возможные поля, + в браузере в сторе редакса initialState тоже не видно
создаю стор:
```typescript
const rootReducer = combineReducers({
slice: slice
})
export const setupStore = () => {
return configureStore({
reducer: rootReducer
})
}
export type RootState = ReturnType
export type AppStore = ReturnType
export type AppDispatch = AppStore['dispatch']
```
создаю начальный стейт и слайс:
```typescript
interface InterfaceSlice {
application: array[],
}
const initialState: InterfaceSlice = {
application: [
{id: 0, name: "alice" }
],
}
export const userSlice: any = createSlice({
name: 'user',
initialState: initialState,
reducers: {{
getUser(state, action: PayloadAction) {
state.application = [...action.payload]
}
}}
})
export default userSlice.reducer;
```
диспатчу в стор данные :
```typescript
const {getUser} = userSlice.actions
const dispatch = useAppDispatch()
const {application} = useAppSelector((state) => state.userSlice) //не видит , что в state.userSlice есть поле application
useEffect(() => {
getRequest().then((request) => {
dispatch(getUser(request.data))
})
}, []);
```
в девтулзах стейт всегда пустой объект, хотя видно, что в payload лежат данные которые мне нужны
может где то ошибка в логике?
Вопрос задан
более трёх лет назад
140 просмотров