javascript-在React.js中获取不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-在React.js中获取不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2587字,纯文字阅读大概需要4分钟。
内容图文
![javascript-在React.js中获取不起作用](/upload/InfoBanner/zyjiaocheng/686/bcb23c29e61941f8999de1b065dc12f1.jpg)
我正在尝试在react.js中执行获取请求,但似乎没有获取任何东西.我觉得这是一个愚蠢的错误,我没有注意到.任何帮助,将不胜感激.
import React, {Component} from 'react';
import './App.css';
import TimeSearch from './TimeSearch.jsx';
import CurrentTime from './CurrentTime.jsx';
class App extends Component {
constructor(props) {
super(props);
this.state = {
list: []
};
}
handleFormSubmit(item) {
var url = 'https://api.aladhan.com/timingsByCity?city=' + item + '&country=US&method=2';
fetch(url)
.then(response => {
return response.json();
})
.then(json => {
this.setState({
Fajir: json.Fajir,
Sunrise: json.Sunrise,
Dhuhr: json.Dhuhr
});
});
}
render() {
return (
<div className="App">
<h1>Welcome to Prayer Times!</h1>
<h6>Search for times in any city in the United States</h6>
<TimeSearch
handleFormSubmit={item => {
this.handleFormSubmit(item);
}}
/>
<CurrentTime Fajir={this.state.Fajir} />
</div>
);
}
}
export default App;
// Time Search Component
import React, {Component} from 'react';
class TimeSearch extends Component {
render() {
return (
<ul>
<form onSubmit={e => this.handleFormSubmit(e)}>
<input type="text" id="lookUp" placeholder="Search by City" ref="seachBox" />
<button type="submit" id="searchButtons">
{' '}
Search{' '}
</button>
</form>{' '}
</ul>
);
}
handleFormSubmit(e) {
e.preventDefault();
var item = this.refs.searchBox.value;
this.props.handleFormSubmit(item);
}
}
export default TimeSearch;
// Current Time Component
import React, {Component} from 'react';
class CurrentTime extends Component {
render() {
return (
<div id="time">
<h1 id="fajir"> {this.props.Fajir} </h1>
</div>
);
}
}
export default CurrentTime;
更新资料
https://i.stack.imgur.com/YJx9T.png
当我登录时,什么都没有显示,这让我感到困惑,我尝试使用Postman Windows应用程序发出API请求,并且它可以100%正常运行,所以我不知道现在发生了什么
解决方法:
我认为您的提取代码看起来还不错,控制台中是否会抛出任何错误?可能是您的处理程序未绑定到正确的上下文.如果未正确绑定该函数,则this.setState会导致错误,因为这不是正确的上下文.您可能希望将其绑定到构造函数中,或者甚至更好的方法是,使用如下的初始化程序:
handleFormSubmit = (item) => {
const url = `https://api.aladhan.com/timingsByCity?city=${item}&country=US&method=2`;
fetch(url)
.then((response) => {
return response.json();
})
.then((json) => {
this.setState({
Fajir: json.Fajir,
Sunrise: json.Sunrise,
Dhuhr: json.Dhuhr
});
});
}
要做的一件事是检查浏览器的“网络开发人员”选项卡,并确保请求正确进行.
更新资料
看起来现在正在运行,请参见下面的提取代码:
const item = 'Chicago';
var url = 'https://api.aladhan.com/timingsByCity?city=' + item + '&country=US&method=2';
fetch(url)
.then((response) => {
return response.json();
})
.then((json) => {
console.log(json);
});
内容总结
以上是互联网集市为您收集整理的javascript-在React.js中获取不起作用全部内容,希望文章能够帮你解决javascript-在React.js中获取不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。