reactjs - Transmiterea dispatch-ului useReducer ca prop în TypeScript, ce tip să folosesc?
const [state, dispatch] = useReducer(reducer, initialState);
return (
<Component dispatch={dispatch} />
)
// component file
const Component = ({dispatch}: ???) => .....
Ce ar trebui să pun la semnele de întrebare?
Răspuns #1
Verifică @types/react. Putem vedea că există mai multe definiții suprascrise ale useReducer, dar va returna tipul Dispatch: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react/index.d.ts#L876
Poți importa Dispatch din 'react'.
Rețineți că Dispatch este generic. Tipul generic reprezintă valorile posibile pentru acțiunile trimise. Este alegerea dvs. să le definiți, dar reducer-urile folosesc în mod obișnuit action.type.
import { Dispatch, FunctionComponent } from 'react';
interface ComponentProps {
dispatch: Dispatch<{ type: string }>
}
const Component: FunctionComponent<ComponentProps> = ({ dispatch }) =>
