Dlaczego TS zwraca taki błąd?

Dlaczego TS zwraca taki błąd?
DO
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad rok
  • Postów:165
0

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

Kopiuj
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:

Kopiuj
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.

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

Czym jest removeItem()?


DO
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad rok
  • Postów:165
0
Patryk27 napisał(a):

Czym jest removeItem()?

Kreatorem akcji

Kopiuj
.addCase(removeItem,(state,action:PayloadAction)=>{state.items = removeNode([...state.items], action.payload)})
DO
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad rok
  • Postów:165
0

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

Kopiuj

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

Kopiuj
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 .

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.