import React from 'react';
// eslint-disable-next-line import/no-extraneous-dependencies
import PropTypes from 'prop-types';
export const ReactFunctionalComponent = ({ label }) => {
const [clicks, setValue] = React.useState(0);
return (
setValue(clicks + 1)}
style={{ cursor: 'pointer' }}
onKeyDown={() => undefined}
role="button"
>
{label}
Clicked {clicks} times.
);
};
ReactFunctionalComponent.propTypes = {
label: PropTypes.string.isRequired,
};
export class ReactClassComponent extends React.Component {
state = {
clicks: 0,
};
render() {
const { label } = this.props;
const { clicks } = this.state;
return (
this.setState({ clicks: clicks + 1 })}
onKeyDown={() => undefined}
style={{ cursor: 'pointer' }}
role="button"
>
{label}
Clicked {clicks} times.
);
}
}
ReactClassComponent.propTypes = {
label: PropTypes.string.isRequired,
};