you should bind the function to this
as the ESLint error says "Expected 'this' to be used by class method 'getUrlParams'
getUrlParams = (queryString) => { .... }
as you are not using getUrlParams
during render (like onClick()
) so the above technique is good which we can call it “usage of arrow function in class property”.
there are other ways of binding too:
- binding in constructor
this.getUrlParams=this.getUrlParams.bind(this)
- arrow function in render e.g.
onClick={()=>this.getUrlParams()}
assumed that function does not have params. - and
React.createClass
which with ES6 does not make sense 🙂