Dlaczego TS zwraca taki błąd?

0

To mój pierwszy dzień z TS stąd proszę o wyrozumiałość jeżeli pytam o jakiś banał.

const click = useCallback(
    (e: React.MouseEvent<HTMLButtonElement>): void => {
      onClick([header, string]);
    },
    [header, string, onClick]
  );

const mapDispatchToProps = (dispatch) => ({
  onClick: (data:string[]):void => dispatch(removeItem(data)),
});

Powyżej kod, który powstał z ubogacenia działającego JS o TS. Natomiast problem polega na tym, że wyskakuje błąd:

Expected 0 arguments, but got 1.

I nie wiem co z tym zrobić. Źródłem błędu jest ostatnie wystąpienie literału data w powyższym akapicie. Co gorsza, błąd pojawił się na etapie zmiany rozszerzenia pliku z .jsx na. tsx jeszcze bez jakiejkolwiek zmiany w treści. Payload akcji jest konsumowany prawidłowo w reducerze.

0

Czym jest removeItem()?

0
Patryk27 napisał(a):

Czym jest removeItem()?

Kreatorem akcji

.addCase(removeItem,(state,action:PayloadAction)=>{state.items = removeNode([...state.items], action.payload)})
0

Rozwiązane choć niejasności pozostały.
Po zmianach w reducerze jest i działa:


export const removeItem = createAction<string[]>("redux/items/REMOVE_ITEM");
 .addCase(removeItem,(state,action:PayloadAction<string[]>)=>{state.items = removeNode([...state.items], action.payload)})

a do tej pory było

export const removeItem = createAction("redux/items/REMOVE_ITEM");
 .addCase(removeItem,(state,action:PayloadAction)=>{state.items = removeNode([...state.items], action.payload)})

i nie działało.
A wątpliwości są takie oto: ma drugi podobny guzik z reducerem jak powyżej(bezp.powyżej)tyle, że dla akcji appendItem i działa .

1 użytkowników online, w tym zalogowanych: 0, gości: 1