Помимо того факта, что он объявляется каждый раз при рендеринге компонента, когда вы запускаете его внутри render()
метода, я думаю, что это связано с областью действия переменной / функции, которую вы объявляете.
Если вы объявите его вне объявления класса, он станет глобальной переменной / функцией без доступа к this
свойствам класса (включая this.props
и / или this.state
), если вы не передадите что-либо в качестве параметра. Наилучший подход, возможно, состоит в том, чтобы поместить его в класс, но вне рендера, а затем вызвать его с помощью this.browserClick
. В конце концов, вы должны использовать то, что соответствует вашим потребностям.