cityActions.ts 638 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
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 },
  };
};