2016-03-05 5 views
4

Используя ES6 + синтаксис в React/React родной, переменная foo, когда она определена вне конструктора каким-то образом превращается в переменную экземпляра при вызове с this.. Мое утверждение верно? Почему это даже работает, когда не создается экземпляр в конструкторе? Вот соответствующий Реагировать Родной фрагмент кода:ES6 + экземпляр свойство экземпляра за пределами конструктора

class myComponent extends Component { 
    constructor() { 
    super(); 
    } 

    foo = "bar"; 

    render() { 
    return (<View>{ this.foo }</View>); 
    } 
} 

This discussion about ES7 property initializers показывает, как переменная state будет заметно использоваться таким образом в React/React Native.

До сих пор связанные с переполнением стека дискуссии я прочитал через here и here не смог ответить на этот вопрос для меня ..

+2

"* Почему это даже работает, когда не конкретизируется в конструкторе *?" - потому что поля класса являются ужасно идея – Bergi

+0

Связанный пост [здесь] (https://stackoverflow.com/q/37788342/465053). – RBT

ответ

4

Ваше утверждение верно.

Проблема в том, что в настоящее время она находится только в stage-1, поэтому неясно, когда и когда она станет стандартом.

Ссылки:

+0

Я вижу. Спасибо за ссылки! Я не знал о процессе разработки ECMAScript на разных этапах и т. Д. – Andru

Смежные вопросы