Требуется ли параметр noop [lodash] по умолчанию для функций реквизита? - PullRequest
0 голосов
/ 21 января 2019

Мне было интересно, что люди предлагают при работе с дополнительными функциями по умолчанию в 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 Ответ

0 голосов
/ 21 января 2019

Это исходный код _.noop():

function noop() {
  // No operation performed.
}

Как видите, он идентичен () => {}.

Основным недостатком _.noop() является необходимость его импорта (другая строка кода).

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

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

...