Рука-лицо... Учи матчасть внимательней. Я зачем уроки сюда с FreeCodeCamp импортировал?
const newValue = !this.state?.done;
Устанавливаем новое значение. Восклицательный знак в начале - это отрицание Не. То есть если this.state?.done === true, то Не будет false. Иначе (то есть false, null, undefined, 0, '' и т.п.) будет приведено к логическому true.
?. здесь примеряется для предотвращения ошибки на случай если объект this.state отсутствует.
this.setState({
done: newValue,
})
Устанавливаем значение в стейт.
А наш вариант
this.setState({
done: !this.state?.done,
})
это просто сокращенная форма без использования дополнительной переменной newValue.