Требуется ли параметр noop [lodash] по умолчанию для функций реквизита?
Мне было интересно, что люди предлагают при работе с дополнительными функциями по умолчанию в React.
Я видел, как наша кодовая база использует сочетание () => {} и noop lodash.
Что предпочтительнее?
Это общий вопрос относительно правильных методов кодирования.
export default ({
name = '',
value = '',
label = name,
type = 'text',
noLabel = false,
placeholder = '',
required = false,
isInvalid = false,
showBar = true,
inputRef,
onChange = () => {},
onBlurCb, // <-- THE BIT IN QUESTION
...props
}) => (
<Component initialState={{ isFocused: false, hasValue: false }}>
{({ state, setState }) => (
<InputContainer
isFocused={state.isFocused}
isInvalid={isInvalid}
noLabel={noLabel}
{...props}
>
...
Это используется как обратный вызов для синтетического события позже в компоненте
onBlur={() => {
setState({ isFocused: false })
onBlurCb()
}}
1 ответ
Это исходный код _.noop()
:
function noop() {
// No operation performed.
}
Как вы можете видеть, это идентично () => {}
,
Основным недостатком _.noop()
это необходимость его импортировать (другая строка кода).
За исключением этого, вы должны использовать соглашение в вашей команде, или, если нет, - то, которое более читабельно для вас.
В качестве личного предпочтения я бы пропустил импорт и () => {}
,