javascript - 功能道具是否需要“noop”[lodash] 默认参数?
问题描述
我想知道人们在使用 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()
是需要导入它(另一行代码)。
除此之外,您应该在您的团队中使用约定,或者如果没有,则使用对您来说更具可读性的约定。
作为个人喜好,我会跳过导入,并使用() => {}
.
推荐阅读
- javascript - 如何使用模式和匹配器在java中查找子字符串=“\\r”在字符串=“这是一个\\\\\\rtest \\n\\r字符串”中的出现
- javascript - 如何通过自定义函数使用 Lodash orderby?
- java - 我想知道为什么 FinalizerReference 在我的应用程序中消耗这么多内存
- javascript - React Native:图像未显示在视图中
- selenium-webdriver - Selenium xpath 没有在 chrome 中显示它正在工作的元素
- javascript - Odin 项目 TDD 解决方案
- java - 我的应用程序在真实设备上显示启动画面后崩溃,但在虚拟设备上却没有
- python - 如何在 groupby 中获取第一个值,TypeError:first() 缺少 1 个必需的位置参数:'offset'
- java - Java - 打印给定范围内的随机 IP 地址
- c++ - 在 docker 外访问 bazel 文件