在 React 中使用 Props 哪种更好?

问题描述 投票:0回答:3

两者有什么区别,哪个更好?

const Person=({firstName,lastName})=>{
    return(
    <div>
    <p>{'${firstName}${lastName}'}</p>
    </div>
    )
    }

const Person=(props)=>{
return(
<div>
<p>{props.firstName}{props.lastName}</p>
</div>
)
}
javascript reactjs prop
3个回答
2
投票

其实第一个应该是:-

const Person=({firstName,lastName})=>{
    return(
    <div>
    <p>{'${firstName}${lastName}'}</p>
    </div>
    )
    }

您需要解构 React 为您创建的

props
对象的属性。

这里没有好人或坏人。两者都可以达到您的目的。使用第二个,因为写

props.blabla
会让您感到头疼,而单独使用
blabla
更有意义。

Edit - @xflorin94 添加了一个很好的示例,您只从

props
对象中提取与当前组件使用相关的所需属性,并且可以使用
...
获取其余属性并将它们传递给某些组件其他 ChildComponentfunctionhook 等任何你可以使用的地方。


2
投票

我给你一个使用第一种方法时的例子:

class Person({firstName, lastName, ...props)} => {
 return (
   <>
     <p>{firstName}</p>
     <p>{lastName} </p>
     <ChildComponent {...props} />
   </>
 )
}

我使用

props
,而不是将所有
<ChildComponent/>
写成
{...props}
。或者我的
ChildComponent
没有固定数量的道具等。我主要在制作可重用组件时使用它。


1
投票

没有好坏之分。事实上,这取决于你。但我建议您使用破坏来访问对象的属性。因为它干净且易于理解,所以没有混乱,也不需要重复访问道具。

© www.soinside.com 2019 - 2024. All rights reserved.