gpt4 book ai didi

reactjs - 无法从 getSelectors 推断出 selectIds 中的正确类型

转载 作者:行者123 更新时间:2023-12-05 06:48:34 28 4
gpt4 key购买 nike

我使用 createEntityAdapter 设置了一个简单的 redux store。初始状态包含实体、ID、状态、错误设置等

const carouselEventAdapter = createEntityAdapter<CarouselEventStateInterface>()

const initialState = carouselEventAdapter.getInitialState({
entities: { //some data here },
ids: [1,2],
status: 'idle',
error: null,
})

const carouselEventSlice = createSlice({
name: 'carouselEvent',
initialState,
reducers: {},
extraReducers: {},
})

export const {
selectIds,
selectById,
} = carouselEventAdapter.getSelectors<RootState>( state => state.carouselEvent)

// export const {} = carouselEventSlice.actions

export default carouselEventSlice.reducer

当我尝试调用 selectIds 函数时,它显示类型为 EntityId[] 而我想要 number[] 作为 eventids< 的类型

const eventids = useSelector(selectIds)

有人可以纠正我的类型吗,因为我试图到处寻找答案,但没有运气

最佳答案

通过包含 id: [1,2]在您的初始状态下,切片的状态类型变为 ids: number[] .但是实体适配器只使用 EntityId .

作为解决方法,您可以选择 ids直接从状态而不使用 getSelectors

const useSelector = createSelectorHook<RootState>();

const eventIds = useSelector(state => state.carouselEvent.ids );

这得到类型 EntityId[] & number[]这就是 number[] .

Typescript Playground Link

现在你让我想知道 redux-toolkit 类型支持通用 <I extends EntityId = EntityId> 有多难在这里。

关于reactjs - 无法从 getSelectors 推断出 selectIds 中的正确类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66799358/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com