Я пытаюсь начать использовать Redux в React + TypeScript, поэтому я следую учебным пособиям по Redux Toolkit и пытаюсь реализовать его в примере приложения.
У меня много трудностей с наборами текста относительно store и параметры функции mappStateToProps
.
Я настроил хранилище с помощью фрагмента следующим образом:
import { configureStore } from '@reduxjs/toolkit'
import linksReducer from '../features/links/linksSlice'
const store = configureStore({
reducer: {
links: linksReducer,
},
})
export default store
export type AppStore = typeof store
И я подключил компонент следующим образом:
import React from 'react'
import { connect, ConnectedProps } from 'react-redux'
import { AppStore } from '../../features/appStore'
import { deleteLink } from '../../features/links/linksSlice'
import LinkCard from './LinkCard'
import Link from '../../models/Link'
import EmptyList from './EmptyList'
const mapStateToProps = (state: any) => ({
links: state.links,
})
const mapDispatchToProps = { deleteLink }
const connector = connect(mapStateToProps, mapDispatchToProps)
const LinksGrid = (props: ConnectedProps<typeof connector>) => {
// ...
}
export default connector(LinksGrid)
Как видите, я использовал тип any
для первого аргумента функции mapStateToProps
, потому что я не могу узнать, как я должен его печатать. Используя any
, у меня нет проблем с запуском приложения, поэтому я предполагаю, что у меня проблема только с печатанием.
Официальная документация RTK дает только пример использования combineReducers
вместо configureStore
, и это использует TS ReturnType<T>
, который может работать только с функцией, но, конечно, переменная store
не является функцией, поэтому она не работает.
Я также прочитал документацию по Redux и React Redux, но до сих пор не могу понять что делать.
Я уверен, что это на самом деле просто, но вот я ... Может кто-нибудь помочь мне заставить этот набор текста работать?
Спасибо:)