Потому что, когда вы делаете это:
<MyComponent onClick={this.myFunc()}/>
Вызывает функцию при монтировании и присваивает onClick
возвращаемому значению из this.myFunc
.Вам нужно передать ссылку на функцию - любую из этих:
<MyComponent onClick={this.myFunc}/>
<MyComponent onClick={() => this.myFunc()}/>
Первая передает ссылку на this.myFunc
, а вторая передает новую функцию, которая вызывает myFunc
.Вам нужно будет использовать второй, если вы хотите передать аргументы this.myFunc
.