代码实现功能:根据 state 中的值判断子组件显示或隐藏,因为 setState 不是及时生效的,所以不做显示隐藏判断会报错。
render() {
// 客户经理循环组件
function CommentSpan(props){
const numbers = props.managers;
if(!numbers) return;
const listItems = numbers.map((item) =>
<span> {item.staffName} {item.phone} </span>
);
return (
<span>客户经理及联系方式:{listItems}</span>
);
}
return (
<div >{this.state.managers ? ( <CommentSpan managers={this.state.managers} />):null} </div>
)
}
完成。
setState 不实时生效解决方法 :
在它的回调函数中取值,示例代码:
this.setState({a:'1'},()=>{
console.log(this.state.a) //'1'
})