在 ReactJS 中获取“无法访问的代码 no-unreachable”

问题描述 投票:0回答:5

我是在 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});
  }
}
ajax reactjs get state
5个回答
8
投票

no-unreachable
只是一个警告,告诉您代码中有无法访问的代码。在本例中,它是
console.log(jsonResponse)
 之后的 
return jsonResponse

它是无法访问的,因为当代码找到 return 语句时,它只会跳出函数,不再继续下去,因此

console.log(jsonResponse)
将永远不会被调用。


5
投票

我也遇到了同样的问题。似乎是因为 return 的括号应该像

return (
那样内联 不喜欢

return

(

这解决了我的问题


1
投票

返回值后面去掉

console.log()


0
投票

也有同样的问题。 删除警告行上的分号解决了问题。


0
投票

5

我也遇到了同样的问题。似乎是因为 return 的括号应该像 return ( 一样内联,而不是像

返回

这解决了我的问题??

但是请回复为什么会发生这种情况,,这背后的概念是什么,为什么错误名称是“无法访问的代码 no-unreachable”??

© www.soinside.com 2019 - 2024. All rights reserved.