我是在 React 中创建 GET 请求的新手。当有人在输入字段中输入网址时,我尝试从 Instagram 内容中获取 media_id 。有趣的是,我确实在 Inspector 中得到了以下 GET 请求的响应,但我不确定如何正确执行它。
以下是我的组件代码。
import React, { Component } from 'react';
export default class UrlInput extends Component {
constructor(props){
super(props);
this.state = {
term: '',
mediaid: ''
};
this.onInputChange = this.onInputChange.bind(this);
}
componentDidMount(){
const url = 'https://api.instagram.com/oembed/?url=http://instagram.com/p/Y7GF-5vftL/';
fetch(url).then(response => {
if(response.ok){
return response.json();
}
throw new Error('Request failed!');
},
networkError => console.log(networkError.message)).then(jsonResponse => {
return jsonResponse;
console.log(jsonResponse);
});
}
render(){
return (
<div className='search-bar'>
<input
value= {this.state.term}
onChange={ event => this.onInputChange(event.target.value)} />
<div>{this.state.term}</div>
</div>
);
}
onInputChange(term){
this.setState({term});
}
}
no-unreachable
只是一个警告,告诉您代码中有无法访问的代码。在本例中,它是 console.log(jsonResponse)
之后的
return jsonResponse
它是无法访问的,因为当代码找到 return 语句时,它只会跳出函数,不再继续下去,因此
console.log(jsonResponse)
将永远不会被调用。
我也遇到了同样的问题。似乎是因为 return 的括号应该像
return (
那样内联
不喜欢
return
(
这解决了我的问题
返回值后面去掉
console.log()
也有同样的问题。 删除警告行上的分号解决了问题。
5
我也遇到了同样的问题。似乎是因为 return 的括号应该像 return ( 一样内联,而不是像
返回
(
这解决了我的问题??
但是请回复为什么会发生这种情况,,这背后的概念是什么,为什么错误名称是“无法访问的代码 no-unreachable”??