一: 问题描述
constructor (props) {
super(props)
this.state = {
dynamicNum: 0
}
}
componentWillMount () {
const data = this.props.data
data.allPersonPosts.nodes.map((p, i) => {
if (p.deleted === false) {
this.setState({
dynamicNum: this.state.dynamicNum + 1
})
}
})
}
描述:
React Native
生命周期componentWillMount
是组件还未render
时执行的,因此写在这个生命周期内部的逻辑表示将父组件传过来的data
接收过来并进行遍历和判断,随后进行设置state
中的值。
在我的数据中数组 data.allPersonPosts.nodes
的长度是3。而且内部每一个元素对象的deleted
值都是false
,所以按理说在遍历完之后,dynamicNum
的值应该为3。但是在整个过程结束之后,dynamicNum
的值都还是1。