To mocno utrudnia pisanie poprawnego kodu ludziom nieprzyzwyczajonym do JavaScriptu, ale za to do innych języków obiektowych.

Jak ktoś jest przyzwyczajony, to też utrudnia to życie bo trzeba cały czas mieć to z tyłu głowy tego nieszczęsnego this. I potem są dylematy, czy lepiej w React zrobić tak:

onClick={this.handleClick.bind(this)}

czy tak

onClick={(e) => this.handleClick(e)}

czy może tak (w konstruktorze):

this.handleClick= this.handleClick.bind(this);

i potem się ludzie kłócą, który styl jest najlepszy. A wszystko po to, żeby nie utracić zmiennej this w metodzie (która przestaje być "metodą" gdzieś po drodze i zaczyna być zwykłą funkcją).

Chociaż na szczęście istnieje wiele sposobów na uniknięcie używania this w ogóle (np. tworzenie obiektów za pomocą domknięć, albo decoupling funkcji od obiektów itp.), chociaż to znowu sprawia, że kod staje się jeszcze bardziej odległy od tego, do czego się przyzwyczaili ludzie z innych języków.