react控制组件的显示或隐藏, 根据state判断元素显示隐藏 , setState不实时生效解决方法

代码实现功能:根据 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'
})

猜你喜欢

转载自blog.csdn.net/qq_35713752/article/details/103273164