useReducer with TypeScript

What's the best way to write this useReducer in TypeScript:
const [{ firstName, lastName }, setName] = useReducer(
    (prev, next) => ({ ...prev, ...next }),
    {
      firstName: "",
      lastName: ""
    }
  );


I was thinking this, but I wonder if there's a better way.
type TName = { firstName: string; lastName: string };
const [{ firstName, lastName }, setName] = useReducer(
    (prev: TName, next: Partial<TName>) => ({ ...prev, ...next }),
    {
      firstName: "",
      lastName: ""
    }
  );
Was this page helpful?