>> В моем же варианте получается возьми или это или другое , другое или это.
Твой вариант - это усложненный мой
К тому же, как я и сказал, если не будет объекта this.state, то будет ошибка. А это совсем не исключено, не всегда классовые компоненты объявляют с инициализацией стейта.