在整个应用程序中使用Redux选择器是一种不好的做法吗?

有人可以告诉我什么是更好的方法吗?尽管我觉得方法A比方法B的回报更多,但我并没有在网上看到太多有关此内容的文章。

// Approach A
// ComponentA.jsx
export default () => {
    . . .
    const [user, token] = useSelector(({ auth: { user, token } }) => [user, token])
    return (
        . . .
    )
}

// ComponentB.jsx
export default () => {
    . . .
    const [user, token] = useSelector(({ auth: { user, token } }) => [user, token])
    return (
        . . .
    )
}

// ComponentC.jsx
export default () => {
    . . .
    const [user, token] = useSelector(({ auth: { user, token } }) => [user, token])
    return (
        . . .
    )
}

// Entry
export default () => {
    return (
        . . .
        <ComponentA />
        <ComponentB />
        <ComponentC />
        . . .
    )
}
// Approach B
// ComponentA.jsx
export default ({ user, token }) => {
    . . .
    return (
        . . .
    )
}

// ComponentB.jsx
export default ({ user, token }) => {
    . . .
    return (
        . . .
    )
}

// ComponentC.jsx
export default ({ user, token }) => {
    . . .
    return (
        . . .
    )
}

// Entry
export default () => {
    const [user, token] = useSelector(({ auth: { user, token } }) => [user, token])
    return (
        . . .
        <ComponentA user={user} token={token} />
        <ComponentB user={user} token={token} />
        <ComponentC user={user} token={token} />
        . . .
    )
}

我误会了,真的没有区别,还是两者有更好的方法?