>> В моем же варианте получается возьми или это или другое , другое или это.
Твой вариант - это усложненный мой
handleCardClick = () => { this.setState({ done: !this.state?.done, }) }
К тому же, как я и сказал, если не будет объекта this.state, то будет ошибка. А это совсем не исключено, не всегда классовые компоненты объявляют с инициализацией стейта.