How can I pass arguments to a function in functional component? As far as I know, creating function in jsx is not good practice right?
function MyComponent(props) {
  function handleChange(event, data){
    console.log(event.target.value);
    console.log(data);
  }
  return <button onClick={handleClick(??)} value='Foo'>Click</button>
}
                This will work
function MyComponent(props) {
  function handleChange(event, data){
    console.log(event.target.value);
    console.log(data)
  }
  return <button onClick={(event) => handleChange(event, 'Some Custom Value')} value='Foo'>Click</button>
}
Or if you only want to send the data property, you could do something like
function MyComponent(props) {
  function handleChange(data){
    console.log(data)
  }
  return <button onClick={(event) => handleChange('Some Custom Value')} value='Foo'>Click</button>
}
                        You can keep function outside of functional component,
MyComponent = (props) => {
  return <button onClick={(event, props.data) => handleChange(event, props.data)} value='Foo'>Click</button>
}
function handleChange(event, data){
  console.log(event.target.value);
  console.log(data);
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With