Having those two examples in React in file user.js where User is the exported component
const displayText = (firstName, lastName) => (
<div>{firstName} {lastName}</div>
)
const User = ({ user }) => (
<div>
You are logged in as
{displayText(user.firstName, user.lastName)}
</div>
)
or
const DisplayText = ({ firstName, lastName }) => (
<div>{firstName} {lastName}</div>
)
const User = ({ user }) => (
<div>
You are logged in as
<DisplayText firstName={user.firstName} lastName={user.lastName} />
</div>
)
Which is better, faster or more recommended?
Later edit: I added another example I see often and I cannot tell people why is wrong other than it looks a bit ugly
const User = ({ user }) => {
const DisplayText = ({ firstName, lastName }) => (
<div>{firstName} {lastName}</div>
)
return (
<div>
You are logged in as
<DisplayText firstName={user.firstName} lastName={user.lastName} />
</div>
)
)