功能道具是否需要 'noop' [lodash] 默认参数?

Is a 'noop' [lodash] default parameter required for function props?

我想知道人们在使用 React 中的可选默认函数时有何建议。

我看到我们的代码库混合使用了 () => {} 和 lodash noop。

哪个更好?

这是关于正确编码技术的一般性问题。

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()
          }}

这是_.noop()的源代码:

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

如您所见,它与 () => {} 相同。

_.noop() 的主要缺点是需要导入它(另一行代码)。

除此之外,您应该在您的团队中使用约定,或者如果 none - 对您而言更易读的约定。

作为个人偏好,我会跳过导入,并使用 () => {}