三國紛爭
2022-08-18 10:26:51
我有一個自定義鉤子,也有一些選擇器,需要根據(jù)兩者的組合設(shè)置最終標志。我不能簡單地編寫一個結(jié)合了以下代碼的函數(shù),因為鉤子或選擇器都不能在react FC之外使用。使像這樣的整個塊成為某個地方的單個可重用函數(shù)的最佳方法是什么?// selector const { activeIntents, writeRole, intents, permalink } = useSelector(state => state.companyIntentsReducer);// custom hook const { hasExtendedRoleForCompany } = useJwtRoles();// func calling the custom hook const intentWrite = hasExtendedRoleForCompany("intent-manage-write", permalink);// final result combines both const editMode = writeRole && intentWrite自定義鉤子可以使用選擇器嗎?
1 回答

小怪獸愛吃肉
TA貢獻1852條經(jīng)驗 獲得超1個贊
你應(yīng)該寫一個自定義鉤子,比如:
const useEditMode = () => {
const { activeIntents, writeRole, intents, permalink } = useSelector(
(state) => state.companyIntentsReducer
);
const { hasExtendedRoleForCompany } = useJwtRoles();
const intentWrite = hasExtendedRoleForCompany(
"intent-manage-write",
permalink
);
return { isEditMode: writeRole && intentWrite };
};
export default useEditMode;
// Usage inside function component
const { isEditMode } = useEditMode();
添加回答
舉報
0/150
提交
取消