export const CHANGE_INPUT = "changeInput"; export const ADD_CITY = "addCity"; interface changeInputActionCreator { type: typeof CHANGE_INPUT; payload: string; } interface addCityActionCreator { type: typeof ADD_CITY; payload: { name: string }; } export type cityActionTypes = changeInputActionCreator | addCityActionCreator; export const changeInputActionCreator = ( inputValue: string ): changeInputActionCreator => { return { type: CHANGE_INPUT, payload: inputValue, }; }; export const addCityActionCreator = (name: string): addCityActionCreator => { return { type: ADD_CITY, payload: { name }, }; };