我很好奇是否有办法在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();
// ...
}