我正在从api渲染数据,我正在添加更多加载选项以获取更多数据。 但是,在呈现新数据时,随着状态的改变,组件会得到刷新。
我该如何解决这个问题?
这是我的代码:
export const newDataReducer = (state= InitialState , action = null) => {
switch(action.type) {
case types.GET_NEW_DATA:
let myData;
myData = _.unionBy(state.data, action.payload.data, "id");
return Object.assign({}, state, {isLoading:false, data:myData, notification: "Success" });
}
}
我的组件:
_.map(myData, (newData, index) => {
return (
newData.id;
);
});
谢谢
答案 0 :(得分:1)
您可以向shouldComponentUpdate生命周期方法添加一些逻辑,以防止不必要的渲染。
答案 1 :(得分:0)
您可能在这里遇到过早的优化情况。由于这里要看的唯一代码是reducer,因此无法确定状态更改对组件的性能影响有多大。如果没有React组件的渲染代码,我只能建议你不要修复任何东西。 React在vdom差异方面做得很好,而且大多数组件渲染都不会经常发生状态变化。