当我在切片中使用js时,重新选择js不起作用。我已经创建了像社交媒体应用程序这样的大型项目,但是当我想检查渲染的质量时,我发现整个页面被渲染了6到7次。
import {createSlice} from '@reduxjs/toolkit';
import {createSelector} from "reselect";
export const optimizedEventsSlice = createSlice({
name: 'optimizedEvents',
initialState: {
optimizedEvents: {
next: null,
previous: null,
results: []
}
},
reducers: {
initOptimizedEvents: (state, action) => {
state.optimizedEvents = action.payload;
},
},
});
export const {
initOptimizedEvents
} = optimizedEventsSlice.actions;
// export const getOptimizedEvents = (state) => state.optimizedEvents;
export const getOptimizedEvents = createSelector(
(state) => state.optimizedEvents,
(optimizedEvents)=> optimizedEvents
);
export default optimizedEventsSlice.reducer;发布于 2022-02-15 15:40:10
您编写的选择器根本没有做任何有用的事情。任何以x => x作为其“输出选择器”的选择器实际上都不是回忆录。此外,通过返回整个切片状态,您正在告诉UI层,它应该在任何时候以任何方式重新呈现state.optimizedEvents。
我建议您阅读用选择器导出数据上的Redux页面,以便更好地理解Reselect如何工作以及如何正确使用它。
https://stackoverflow.com/questions/71124097
复制相似问题