如何将新数据添加到状态而不会在响应中刷新数据

时间:2017-04-14 11:14:12

标签: reactjs redux

我正在从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;
    );
});

谢谢

2 个答案:

答案 0 :(得分:1)

您可以向shouldComponentUpdate生命周期方法添加一些逻辑,以防止不必要的渲染。

答案 1 :(得分:0)

您可能在这里遇到过早的优化情况。由于这里要看的唯一代码是reducer,因此无法确定状态更改对组件的性能影响有多大。如果没有React组件的渲染代码,我只能建议你不要修复任何东西。 React在vdom差异方面做得很好,而且大多数组件渲染都不会经常发生状态变化。