可以添加一个可以从多个状态切片读取的减速器吗?
Possible to add a reducer that can read from multiple state slices?
我正在使用 createSlice
创建状态切片。我们称它们为 sliceA
和 sliceB
。大多数情况下,这些切片彼此解耦。但是,我想在 sliceA
中创建一个减速器,它可以(读取)访问 sliceA
和 sliceB
。这可能吗?
我知道我可以使用 extraReducers
接受切片中未定义的操作。但我认为我仍然会被限制(在这些额外的减速器中)只读 sliceA
,而不是 sliceB
.
知道如何创建一个可以从两个切片读取的 reducer 吗?
默认情况下,您不能。每个 slice reducer 都是一个独立的封装函数,只能 看到它自己的状态。
根据 the Redux FAQ entry on "How can I share state across slices?",您的主要选择是:
- 重新组织状态树,使所有需要的状态都在一个地方
- Use an additional "top-level reducer" to run more logic
- 将更多相关数据放入操作中
我正在使用 createSlice
创建状态切片。我们称它们为 sliceA
和 sliceB
。大多数情况下,这些切片彼此解耦。但是,我想在 sliceA
中创建一个减速器,它可以(读取)访问 sliceA
和 sliceB
。这可能吗?
我知道我可以使用 extraReducers
接受切片中未定义的操作。但我认为我仍然会被限制(在这些额外的减速器中)只读 sliceA
,而不是 sliceB
.
知道如何创建一个可以从两个切片读取的 reducer 吗?
默认情况下,您不能。每个 slice reducer 都是一个独立的封装函数,只能 看到它自己的状态。
根据 the Redux FAQ entry on "How can I share state across slices?",您的主要选择是:
- 重新组织状态树,使所有需要的状态都在一个地方
- Use an additional "top-level reducer" to run more logic
- 将更多相关数据放入操作中