当用户单击Sales Overview选项卡时,我想发出axios请求,然后更新该选项卡中的各种图表。我能够发出axios请求,获取数据,甚至获得数据。然而,在第一次点击Sales Overview选项卡时,除了前面的仪表板组件数据(或者前面的任何选项卡),我看不到任何东西。但点击另一个随机选项卡,然后点击Sales Overview选项卡,我就可以看到我想要的数据了。这是一个越来越大的问题吗?
下面是父搜索组件代码:
类搜索扩展组件{state={hcp_id:101,sales_overview_data:[],page_id_sales_overview:4,}
salesOverviewClicked = () => {
// this.props.salesOverviewDataFromParent(this.state.sales_overview_data);
console.log('Clicked on sales Overview!');
let page_id = this.state.page_id_sales_overview;
let hcp_id = this.state.hcp_id;
console.log('state: ', this.state);
axios.post('/test-json', {
page_id: page_id,
hcp_id: hcp_id
})
.then((res) => {
const dataRequest = res.data;
console.log('State before loading data in sales overview: ', this.state);
console.log('received data inside sales overview', res.data);
this.setState({ ...this.state, sales_overview_data: res.data });
console.log('State after loading data in sales overview: ', this.state);
// this.props.salesOverviewDataFromParent(this.state.sales_overview_data);
}, (error) => {
console.log(error);
});
}
return(
<div>
<ul class="nav nav-tabs" role="tablist">
<li><a class="nav-link active" data-toggle="tab" href="#tablet-1"> <i class="fa fa-th-large"></i>Dashboard</a></li>
<li><a class="nav-link " data-toggle="tab" href="#tablet-2" > <i class="fa fa-envelope"></i>Engage with HCP</a></li>
<li><a class="nav-link " data-toggle="tab" href="#tablet-3" onClick={this.salesOverviewClicked}> <i class="fa fa-bar-chart-o"></i>Sales Overview</a></li>
<li><a class="nav-link " data-toggle="tab" href="#tablet-4"> <i class="fa fa-handshake-o"></i>Promotional Activity</a></li>
<li><a class="nav-link " data-toggle="tab" href="#tablet-5"> <i class="fa fa-user-circle"></i>Patient Analysis</a></li>
</ul>
</div>
<div class="tab-content">
{this.state.receivedData.length !== 0 && <Dashboard data={this.state.receivedData} />}
<EngageWithHCP />
{this.state.sales_overview_data.length !== 0 && <SalesOverview1 key = {this.state.sales_overview_data} data={this.state.sales_overview_data} />}
<PromotionalActivity1 />
<PatientAnalysis1 />
</div>
下面是SalesOverview1子组件:
return(
<div class='row'>
{
<ChartBox
data={this.props.data[401]}
/>
}
)
除非我首先单击其他选项卡,然后返回到SalesOverview1选项卡,否则不会显示SalesOverview1 comp中的图表(尽管数据是在第一次单击SalesOverview1选项卡时提取的)。
以下是选项卡的基本视图:
我想当我点击选项卡时,由于请求需要时间,数据不会更新,默认情况下我会看到前面的选项卡数据。但一旦获取数据,我就看不到那个选项卡上的数据,因为选项卡组件应该重新挂载,这显然没有发生。怎么做?
在子组件中添加
componentWillReceiveProps(nextProps){
// see if nextProps contains updated Data after data being fetched
// if yes add state in child component and put data from nextprops and use state instead of this.props in render method
}
当数据为空时,您可以在子组件中显示loader,为此从父组件中删除您的检查
出身背景 我将React Native中内置的应用程序连接到REST API。我通过Axios处理请求,并使用Redux存储查询结果。我有一个api连接的index.js文件,它保存了作为请求处理程序的函数,这些请求需要越来越深的授权级别。我有一个简单的函数返回访问令牌,这是由以下代码触发,当前位于应用程序的“欢迎页面”。 理想情况下,在浏览几个屏幕后,用户将进入主页并触发以下代码: 到目前为止,
问题内容: 我已经按照npm软件包文档中的建议编写了axios POST请求,例如: 它可以工作,但是现在我修改了后端API以接受标头。 内容类型:“ application / json” 授权:“ JWT fefege …” 现在,此请求在Postman上可以正常工作,但是在编写axios调用时,我遵循 此链接 ,无法完全正常工作。 我经常出错。 这是我的修改请求: 任何帮助是极大的赞赏。 问
但是,当我试图通过axios来实现它时,似乎无法通过正确的params数据。我试过了 有人知道如何在Axios中翻译这种类型的数组数据吗?
我是新来的放心,并试图通过以下机构的职位要求。 JSON有效载荷: 我甚至尝试过以下代码: 有人能帮我吗。 谢啦
我正在构建一个VueJS应用程序,并使用JSON web令牌作为身份验证系统。当我登录用户时,我使用localStorage存储令牌,并且工作正常。我检查了标题,它在“授权”参数中。 我通过 我看到了标题,没关系。但是,当我对API中的受保护路由执行get请求时,返回“unauthorized”。但是,当我在请求中手动传递带有令牌的标头时,效果很好。 有人知道如何在执行某个请求时自动传递头吗?
问题内容: 我有一个执行http POST请求的函数。代码在下面指定。这很好。 我为http GET提供了另一个功能,我想将数据发送到该请求。但是我没有那个选择。 的语法是 获取(URL,配置) 问题答案: HTTP GET请求不能包含要发布到服务器的数据。但是,您可以将查询字符串添加到请求中。 angular.http为此提供了一个选项。 请参阅:http : //docs.angularjs.