将状态从异步调用传递给React中的子类

时间:2019-07-12 06:52:07

标签: reactjs asynchronous axios

在使用Axios调用来获取数据并将其设置在state中以供render使用其他组件方面,需要一些建议。问题出在这里:

class Main{
    componentDidMount(){
        Axios.get(...).then(res=> this.setState(var1))
        Axios.get(...).then(res=> this.setState(var2))
    }
    render(){
        const {var1, var2} = this.state;
        return !var1 && !var2 ? 'Loading...' : <replace_this>
    }
}

情况1:,带有“已加载”

输出:我看到已加载,并且console.log也输出变量值

案例2:<Sub var1={var1} var2={var2} />

错误:

  • 主要:无法在未安装的组件上执行React状态更新
  • Sub:无法读取null属性(var1或var2)

如何解决案例2?

1 个答案:

答案 0 :(得分:1)

很抱歉您的时间。有条件检查需要使用||而不是&&