是否可以为useSelector创建一个可重复使用的函数



我很好奇是否有办法在redux中重用useSelector,因为我在不同的屏幕中多次使用它。

我试着创建一个像这样的selector.ts文件,但它不起作用,因为它不在商店里,也不是一个功能组件。知道我如何重用这些代码吗?

export const branch = useSelector((state: any) => state.branchReducer.branch);

您可以将选择器函数粘贴到一个文件中,然后让每个组件导入选择器并将其传递到useSelector:

// selectors.ts
export const branchSelector = (state: any) => state.branchReducer.branch;
// used like:
import { branchSelector } from './some/path'
const Example = (props) => {
const branch = useSelector(branchSelector);
// ...
}

或者你可以创建自定义挂钩并使用它们:

// selectorHooks.ts
export const useBranch = () => useSelector((state: any) => state.branchReducer.branch);
// used like:
import { useBranch } from './some/path';
const Example = (props) => {
const branch = useBranch();
// ...
}

最新更新