我有一个父母在使用
const isAuthenticated = useSelector(selectIsAuthenticated);
还使用相同的选择器的最佳方法是什么
在孩子中
或使用类似
的上下文提供程序父母
孩子
const isAuthenticated = useContext(AuthContext);
答案 0 :(得分:1)
通常,您重新使用选择器,因为它只是一个功能。
function notification(text) {
console.log(text)
alertify.success(text);
}
或将其用作自定义挂钩:
export const selectIsAuthenticated = state => state.isAuthenticated;
// Usage
import { selectIsAuthenticated } from './auth-selectors.js'
const isAuthenticated = useSelector(selectIsAuthenticated);
答案 1 :(得分:0)
要获取身份验证信息,最好的方法是使用
const isAuthenticated = useSelector(selectIsAuthenticated);
在所有需要身份验证信息的地方(也是第一个位置的自定义钩子的目的),以便在一个地方具有通用的重用逻辑。
为相同信息创建另一个上下文不会带来任何好处。
在这两种情况下,无论您再次使用Context还是使用Selector挂钩,只有上下文的使用者都将呈现。
因此在所有位置使用useSelector钩子可以避免您再次创建上下文的麻烦,而这又不会带来任何额外的好处。