Conditionally Including Event Handler Functions
React makes a variety of synthetic DOM events available to your component. Events such as onClick, onKeyPress, onSubmit, etc. When specifying one of these event handlers, you must supply a function.
To conditionally include an event handler, you may be tempted to do this:
<Toggler
onKeyPress={someCondition && handleKeyPress}
/>This means that onKeyPress will receive false when someCondition is false. That is a prop type violation. Instead, you should use a ternary statement.
<Toggler
onKeyPress={someCondition ? handleKeyPress : undefined}
/>If someCondition is false, then the prop will be set as undefined and that prop won't be defined.
Last updated
Was this helpful?