Вам в функцию deleteTask передают id таски при удалении, а не объект таски. TaskId это просто имя параметра функции.
Вероятно когда вы говорите что в task есть айди, смотрите в другой скоуп - на самом деле на момент работы функции передаётся все равно число (в месте вызова функции), и от того что вы переназвали параметр на task, туда не стал приходить обьект, а по прежнему приходит число
До какого-то момента можно. Но потом вы начнёте понимать, что чего-то всё-таки не хватает (начнёте ли вы с Nodejs или с React, неважно), и откроется удивительный мир fullstack-разработки, где живут как React, так и Nodejs модули и при этом считаются одним проектом.
Отвечая на ваш вопрос короче: писать сайт только на React нельзя.