Так ты возвращаешь переменную равную конкатенации двух свойств с пробелом, а нужно вернуть объект:
state.name = props.firstName + " " + props.lastName;
return state;
Соответственно 3 пункта не проходят.
Вот исправленный код:
static getDerivedStateFromProps (props, state) {
return {
name: props.firstName + ' ' + props.lastName
}
}