gpt4 book ai didi

reactjs - React 函数式组件中的参数而不是 Props

转载 作者:行者123 更新时间:2023-12-05 08:50:14 25 4
gpt4 key购买 nike

这个功能是正确的 React 功能组件吗?或者我为什么要使用 props 对象?

function StyledLabel(value, cssClass){
return <span className={cssClass}>{value}</span>
}

我看到的唯一区别是调用此函数:

<App>
{StyledLabel(value, cssClass)}
</App>

最佳答案

function StyledLabel(value, cssClass){
return <span className={cssClass}>{value}</span>
}

像这样使用

{StyledLabel(value, cssClass)}

不是传统的函数式组件,而是返回 JSX 的函数。

如果您遵循这样的语法,您将无法利用功能组件的某些功能,例如使用 React.memo

尽管您仍然可以在功能组件中使用钩子(Hook)。

使用这种语法的另一个缺点是您不能像使用以下语法那样轻松地将子组件添加到 StyledLabel

<StyledLabel>
<SomeChild/>
</StyledLabel>

尽管 React 在内部也通过调用它来调用该函数,而 JSX 渲染器只是一个使用 React.createElement 来转换它的 Syntactic Sugar,但它为您提供了一个使组件成为虚拟 DOM 的一部分而不是其返回值成为虚拟 dom 的一部分的方法

关于reactjs - React 函数式组件中的参数而不是 Props,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62468665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com