我正在从sqlite数据库中读取数据,在同一组件上,用户可以在该DB的同一表中插入数据,因此我希望能够插入和显示刚插入的新元素,我的问题是如果我在组件上调用display函数将挂载,将不会显示新插入的数据,如果我从组件调用display函数将收到导致无限循环的道具,请您帮忙解决此问题
我正在使用redux,数据存储在props.categes
中,操作是displayFunction()
这是我的代码
componentWillMount(){
let cats = [];
cats = this.props.categes
let len = this.props.categes.length;
this.setState({itemsLength : !this.state.itemsLength})
I18n.locale = this.props.language
}
componentWillReceiveProps(nextProps) {
if (nextProps.added) {
this.props.displayFunction()
cats = this.props.categes
let len = this.props.categes.length;
this.setState({itemsLength : true});
}
}
componentDidMount(){
this.setState({showInput : false, showInput2 : false})
}
答案 0 :(得分:0)
您正在通过在组件生命周期方法中添加setState()方法来创建无限循环。即使已卸载组件,仍会调用setState()方法。为防止这种情况,您可以参考此link