Я начал использовать TypeScript в своем приложении React, но обнаружил, что повторяюсь, особенно с моими mapDispatchToProps
функциями.
Есть ли лучший способ объявить типы?
У меня такое чувство, что я могу получить доступ к типам функций в интерфейсе this
state
, который используется в асинхронной функции, однако я недостаточно знаю о TS и не могу найти конкретный ответ к этому где угодно.
index.tsx
import { globalDispatchKeyData } from '../actions.tsx'
import { doSomething } from './services'
class Index extends Component {
// I declare it here
globalDispatchKeyData: (key: string, data: {}) => void
constructor(props: any) {
this.globalDispatchKeyData = this.props.globalDispatchKeyData.bind(this)
this.doSomething = doSomething.bind(this)
...
...
}
const mapDispatchToProps = { globalDispatchKeyData }
services.tsx
interface IndexState {
// I also declare it here
globalDispatchKeyData: (key: string, data: {}) => void
}
export async function doSomething(this: IndexState) {
globalDispatchKeyData('TYPE', {})
}
В настоящее время это единственный способ объявления типов для функций диспетчеризации или я что-то упустил?
Заранее спасибо за помощь!