Test name | Executions per second |
---|---|
Inline | 285082.2 Ops/sec |
Hooks | 429352.5 Ops/sec |
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.13.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.13.1/umd/react-dom.production.min.js"></script>
<div id="root"></div>
function ComponentWithInlineFunction() {
const clickMe = evt => evt.preventDefault();
return React.createElement('button', {onClick: clickMe}, 'Click me!');
}
function ComponentWithUseCallback() {
const clickMe = React.useCallback(evt => evt.preventDefault(), []);
return React.createElement('button', {onClick: clickMe}, 'Click me!');
}
ReactDOM.render(React.createElement(ComponentWithInlineFunction), document.getElementById('root'))
ReactDOM.render(React.createElement(ComponentWithUseCallback), document.getElementById('root'))