Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

204
Visualizações
TS2339: Property 'data' does not exist

I have this angular store configuration

action.ts

    export const saveUserAction = createAction(
      '[User] Save',
      props<{ payload: User }>
    );

export const saveUserSuccessAction = createAction(
  '[User] Save Success',
  props<{ data: User }>
)

reducer.ts

export const reducer = createReducer(
  initialState,
  on(loadUsers, (state) => ({...state, isLoading: true})),
  on(UserAction.loadUsersSuccess, (state, {data: users}) => ({...state, data: users, isLoading: false})),
  on(UserAction.loadUsersFailure, (state, error) => ({...state, error: error, isLoading: false})),
  on(saveUserFailureAction, (state, error) => ({...state, isLoading: false, error: error})),
  on(saveUserSuccessAction, (state, {data: user}) => ({...state, isLoading: false, selectedUser: user})),
);

effect.ts

saveUserEffect$ = createEffect(() => this.actions$.pipe(
    ofType(saveUserAction),
    switchMap((action: ActionType<typeof saveUserAction>) => {
      return this.userService.saveUser(action.payload).pipe(
        map((user) => {
          return saveUserSuccessAction(user)
        }),
        catchError(error => observableOf(saveUserFailureAction({error: error})))
      )
    })
  ))

Typescript complains

TS2339: Property 'payload' does not exist on type 'ActionCreatorProps{ payload: User; }> & TypedAction"[User] Save"> & { type: "[User] Save"; }'  

and in the reducer on saveUserSuccessAction it complains

TS2339: Property 'data' does not exist on type 'ActionCreatorProps{ data: User; }> & TypedAction"[User] Save Success"> & { type: "[User] Save Success"; }'

it seems strong type is very difficult in java-script. I don't want to use any type

How can I make it work?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda