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

时间:2019-01-21 19:43:39

标签: javascript reactjs lodash noop

我想知道人们在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()
          }}

1 个答案:

答案 0 :(得分:0)

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

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

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

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

除此之外,您应该在团队中使用约定,如果没有,则使用-您更容易理解的约定。

根据个人喜好,我将跳过导入,而选择() => {}