【发布时间】:2019-06-15 05:55:54
【问题描述】:
我想知道人们在使用 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的非常清晰的方式。 -
() => {}应该很清楚它什么都不做(假设您熟悉语法)但是是否清楚它 supposed 是 noop 可能不是。这取决于读者和/或上下文。一个明确命名的noop很清楚你已经放 了一些东西,但它不应该做任何事情,而不是有一个未完成的功能(也许你写了@ 987654326@,本来是要输入一些代码的,但有人打电话给你)。不过,这一切都将基于“最佳”的意见。
标签: javascript reactjs lodash noop