Рука-лицо... Учи матчасть внимательней. Я зачем уроки сюда с 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.