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