Да, ругается на null. Это давняя проблема и вроде в новой версии нексус-плагина ее решили, но это новый плагин без обратной совместимости, я пока на него не переходил. Так что ёжики плакали, кололись, но продолжали есть кактус :)
Можно сделать так:
То есть прописать title === null ? undefined : title. TypeScript здесь понимает, что если прилетел null, то будет undefined. Таким образом в титл не может попасть null.
И здесь важно понимать почему нельзя передавать так: title || undefined. Дело в том, что пустая строка "" тоже расценивается как отрицательный результат. Таким образом, если прелетит пустая строка (что технически возможно и допустимо), то вместо нее будет передано undefined и данное поле не будет обновлено.
И да, можешь на фронт перелезать. Для начала просто выведи списки (то есть создай страницу для вывода, запроси данные и выведи их). Можешь для примера посмотреть страницу вывода списка пользователей. Да и в репозитории самого freecode.academy можешь смотреть. Там примеров много и все по одному образу и подобию.