import styled from 'styled-components'
import propTypes from 'prop-types'
import React from 'react'
const Checkbox = ({ className, checked, ...props }) => (
<CheckboxContainer className={className}>
<HiddenCheckbox checked={checked} {...props} />
<StyledCheckbox checked={checked}>
<Icon viewBox="0 0 24 24">
<polyline points="20 6 9 17 4 12" />
</Icon>
</StyledCheckbox>
</CheckboxContainer>
)
Checkbox.propTypes = {
checked: propTypes.boolean,
className: propTypes.string,
}
I have this component and I'm always getting this error: error propType "className" is not required, but has no corresponding defaultProps declaration react/require-default-props
I don't know how to fix it any suggestions, please?
Use Hello. defaultProps = {} or turn off the rule react/require-default-props ?
As per this tweet, defaultProps will eventually be deprecated.
The defaultProps is a React component property that allows you to set default values for the props argument. If the prop property is passed, it will be changed. The defaultProps can be defined as a property on the component class itself, to set the default props for the class.
To fix ESLint error missing in props validation with React, we can add a comment or disable the rule globally with a config. to disable prop type check for the line immediately below the comment in our code. in . eslintrc to disable the prop type validation rule for the whole project.
It's explained in the documentation: https://reactjs.org/docs/typechecking-with-proptypes.html#default-prop-values
As you are marking this prop as not required it is asking you to put a default in case the prop is missing.
So, something like this (but default values depends on you):
Checkbox.defaultProps = {
checked: false,
className: null,
}
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