Here's a variation which is true, when interpreted in a suitably non-strict / higher categorical sense (for example, "functor" means "pseudofunctor" below). I'm not sure on which side of the Grothendieck construction you prefer to define (pre)stacks and (pre)sheaves, so let's do both versions:
Define a prestack on $B$ to be a functor $B^{op} \to \mathsf{Cat}$, a presheaf valued in groupoids to be a functor $B^{op} \to \mathsf{Gpd}$, and stacks / sheaves to be those satisfying descent. Then a prestack $F: B^{op} \to \mathsf{Cat}$ is a stack if and only if, for every category $C$, the presheaf underlying $F^C$ is a sheaf. Moreover, it suffices to check the case where $C$ is the arrow category.
Define a prestack on $B$ to be a fibration $E \to B$, a presheaf on $B$ to be a fibration $E \to B$ whose fibers are groupoids, and stacks / sheaves to be those satisfying descent. Then a prestack $E \to B$ is a stack if and only if for every category $C$, the presheaf underlying the mapping prestack $\underline{Fun}_B(C\times B, E) \to B$ is a sheaf. Moreover, it suffices to check the case where $C$ is the arrow category.
The point is that descent is a limit condition. Since limits are defined representably, it can be checked by mapping in from objects $C \in \mathsf{Cat}$. And moreover, it suffices to check on a strong generator of $\mathsf{Cat}$, such as the arrow category (by which I mean the category $0 \to 1$ with two objects and one non-identity morphism, which goes between them).