В первом случае, когда создаем функцию и вызываем в анонимной, выглядит не очень, но технический все корректно. И это быдо бы приемлимо, если в одной строке сможешь написать локику, а не вызывать функцию другую с этого же скоупа, которая внутри там еще другие фунции вызывают.
типа: onChange={e => setTitle(e.currentTarget.value)}
И разница в типизации, если с тайпскриптом, при написании внури фигурных скобок от отклик, можно не типизировать, в во втором, когда инода есть аргументы передаваемые в фунцию, если функцию вынести, то придется затипизировать аргументы.
именно в этом коде лучше передавать ссылку на функцию, так как так красиво пишется