You need to make sure that function is not being called while passing the function as a parameter.
render() {
// Wrong way: handleClick is called instead of passed as a reference!
return <button onClick={this.handleClick()}>Click Me</button>
}
Instead, pass the function itself without parenthesis:
render() {
// Correct way: handleClick is passed as a reference!
return <button onClick={this.handleClick}>Click Me</button>
}