Реагировать + Redux с машинописью.Как обработать тип полезной нагрузки, что я хочу - PullRequest
0 голосов
/ 01 июля 2019

Я не хочу использовать любой тип.Как я могу изменить эти типы, он работает с неиспользуемым любым.

Тип e.tartget.name является строка.поэтому я не могу получить полезную нагрузку, какую хочу, потому что type не равен.

Я думаю, что из-за этой ошибки я не очень хорош в машинописиПожалуйста, помогите мне ...

  handleChange = (e: FormEvent<HTMLInputElement>) => {
    const { value, name }= e.currentTarget;
    this.props.UserRegisterActions.setUserData({
      key: name,
      value,
    });
  };
import { handleActions, createAction } from 'redux-actions';
import produce from 'immer';

export interface RegisterFormType {
  workerName: string;
  email: string;
  salary: number;
  join_date: string;
  birth: string;
  grade: string;
};
export type RegisterPayloadType = {
  key: RegisterFormType;
  value: any;
};
const SET_USER_DATA = 'board/SET_USER_DATA';

export const userRegisterActions = {
  setUserData: createAction(
    SET_USER_DATA,
    ({ key, value }:any) => ({
      key ,
      value
    }),
  ),
};

type SetUserData = ReturnType<typeof userRegisterActions.setUserData>;

export type RegisterState = {
  register: any; //here
};
const initialState: RegisterState = {
  register: {
    email: '',
    workerName: '',
    salary: 0,
    join_date: '',
    grade: '',
    birth: '',
  },
}
const userRegister = handleActions<RegisterState, any>(
  {
    [SET_USER_DATA]: (state, { payload: { value, key } }: SetUserData) => {
      return produce(state, draft => {
        draft.register[key] = value;
      });
    },
  },
  initialState,
);
export default userRegister;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...