将新数组合并到componentWillReceiveProps

时间:2017-07-09 01:15:53

标签: javascript reactjs

我试图做一个无限滚动逻辑,我在componentWillReceiveProps执行此操作,但没有看到我的列表正确呈现?

componentWillReceiveProps(nextProps) {
    if(!isEqual(nextProps.listItems, this.state.listItems)){ //user scrolled, call next offset using the API
        this.setState({
            listItems: this.state.listItems.push(...nextProps.listItems)
        })
    }
}

1 个答案:

答案 0 :(得分:0)

将当前listItems和下一组listItems传播到一个新数组中,以避免变异状态。



componentWillReceiveProps(nextProps) {
    if(!isEqual(nextProps.listItems, this.state.listItems)){ //user scrolled, call next offset using the API
        this.setState({
            listItems: [...this.state.listItems, ...nextProps.listItems]
        })
    }
}