繁体   English   中英

如果打印控制台日志,则是正常的。 但执行是空的

[英]If print the console log, it is normal. but execution is empty

深度

<Body title="User List" subTitle="유저 목록 페이지입니다." store={this.props.store}>

<Sidebar store={this.props.store}/>

插入 2 深度。

主要代码

setSidebar = () => {
  const url = `${API_URI.SIDEBAR}?token=${this.props.store.token}`;
  console.log(url) // token is not empty
  axios.get(url).then((data: any) => {
    this.setState({activeUrls: 
      data.data.map((sidebar: any) => {
        const path = this.getSidebarPath(sidebar);
        return sidebar.allowed ?
        <li key={sidebar.key} className="nav-item">
          <Link href={path}><a href={path} className="nav-link">
            <i className={sidebar.icon}></i>
            <span>{sidebar.title}</span>
          </a></Link>
        </li> : <li></li>
      })
    });
  });
}

componentDidMount() {
  {this.setSidebar()};
}

此代码不是空令牌值。

令牌为空

获取 http://localhost:8000/apis/sidebar?token=500

如果打印控制台日志,则是正常的。 但执行是空的。

您的代码有两个问题:

  • 您遇到了 500 错误,这与反应无关,请检查控制台上的网络标签并验证您的 ajax 请求有什么问题
  • 您正在从异步函数返回 XML 并将其存储在状态中。 不推荐这样做

您应该做的是将数据本身存储在状态上并在渲染时使用 t:

render(){
return ...
       {this.state.ajaxData && ...}
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM