我想用一个普通的函数来连接redux store,并得到一个布尔值,我不想返回任何html元素,我该怎么做?
export function someFunction(){ let isAdminProfile = useSelector(state => selectorFunction.isAdmin(state)); return isAdminProfile } let value = someFunction()
"我需要这样的React“
nszi6y051#
你可以构建一个自定义钩子来返回值,如下所示:
function useIsAdminProfile() { return useSelector(state => selectorFunction.isAdmin(state)); } export default function MyComponent() { const isAdminProfile = useIsAdminProfile(); return ( <div>Is Admin: {isAdminProfile}</div> ); }
注意,按照惯例,钩子应该以use开头。例如,useIsAdminProfile。你可以在这里读到更多。
use
useIsAdminProfile
但是,如果你的最终目标是返回值本身,我不推荐这种方法,因为它会带来额外的开销,而且没有任何优势。相反,你在上面提到的代码片段中所得到的内容是完全正确的。另外,它还可以进一步缩短为以下内容:
const isAdminProfile = useSelector(selectorFunction.isAdmin);
1条答案
按热度按时间nszi6y051#
你可以构建一个自定义钩子来返回值,如下所示:
注意,按照惯例,钩子应该以
use
开头。例如,useIsAdminProfile
。你可以在这里读到更多。但是,如果你的最终目标是返回值本身,我不推荐这种方法,因为它会带来额外的开销,而且没有任何优势。相反,你在上面提到的代码片段中所得到的内容是完全正确的。另外,它还可以进一步缩短为以下内容: