Требуется ли параметр 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() это необходимость его импортировать (другая строка кода).

За исключением этого, вы должны использовать соглашение в вашей команде, или, если нет, - то, которое более читабельно для вас.

В качестве личного предпочтения я бы пропустил импорт и () => {},

Другие вопросы по тегам