功能道具是否需要 '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 - 对您而言更易读的约定。
作为个人偏好,我会跳过导入,并使用 () => {}
。
我想知道人们在使用 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 - 对您而言更易读的约定。
作为个人偏好,我会跳过导入,并使用 () => {}
。