在 React 中使用 Props 的更好方式是什么?

Which is a better way to use Props in React?

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

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

const Person=(props)=>{
return(
<div>
<p>{props.firstName}{props.lastName}</p>
</div>
)
}

其实第一个应该是:-

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

您需要从 React 为您创建的 props 对象中解构属性。

这里没有好坏之分。两者都可以达到您的目的。使用第二个,在写 props.blabla 让你头疼的地方,而 blabla 单独使用更有意义的地方。

Edit - @xflorin94 添加了一个很好的示例,其中您仅从与当前组件使用相关的 props 对象中提取所需的属性,并且您可以使用 ... 获取其余属性并将它们传递给其他一些 ChildComponent , function, hook等任何你可以使用它的地方。

有一个没有任何好坏。实际上,这取决于你。但我会建议您使用 destructure 来访问您的对象属性。因为它干净易懂,没有任何垃圾,也不需要重复访问道具。

我用第一种方法给大家举个例子:

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

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