如何解决 NodeJS 中的这个 no-unused-vars 错误?

Posted

技术标签:

【中文标题】如何解决 NodeJS 中的这个 no-unused-vars 错误?【英文标题】:how to solve this no-unused-vars error in NodeJS? 【发布时间】:2021-03-21 03:54:27 【问题描述】:

我正在使用 MERN 堆栈创建一个 todo 应用程序。我是 MERN 堆栈技术的新手,我需要您的帮助来解决这个错误。我已经为我的 app.js 文件和 todo.js 文件提供了代码。我可以' t 在互联网上的任何地方清楚地找到此错误的解决方案。 使用 npm start 命令运行节点 js 应用程序时出现此错误。

Compiled with warnings.

src\App.js
  Line 4:8:  'Todo' is defined but never used  no-unused-vars

Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.

App.js

import React from 'react';
import logo from './logo.svg';
import './App.css';
import Todo from './components/Todo.js';

function App() 
  return (
    <div className="App">
      <header className="App-header">
        <img src=logo className="App-logo"  />
        <p>
          Edit <code>src/App.js</code> and save to reload.
        </p>
        <a
          className="App-link"
          href="https://reactjs.org"
          target="_blank"
          rel="noopener noreferrer"
        >
          Learn React
        </a>
      </header>
    </div>
  );


export default App;

Todo.js

import React,  Component  from 'react'
import axios from 'axios';

 // eslint-disable-next-line

export class Todo extends Component 
    constructor(props) 
        super(props)
    
        this.state = 
             todos : [],
             item : ""
        
    

    changeHandler = (event) => 
        this.setState(item: event.target.value)
    

    clickHandler = (event) => 
        event.preventDefault()
        console.log(this.state.item)
        axios(
            method: 'post',
            url: 'http://localhost:3000/',
            data: 
              todo: this.state.item,
            
          );
        this.setState(item:'')
    

    componentDidMount() 
        axios.get('http://localhost:3000/').then((response) => 
            console.log(response.data.data)
            let data = [];
            console.log(response.data.data.length)
            for(var i =0; i < response.data.data.length; i++)
                data.push(response.data.data[i].todo)
            
            this.setState(todos: data)
        );
    
    componentDidUpdate() 
        axios.get('http://localhost:3000/').then((response) => 
            console.log(response.data.data)
            let data = [];
            console.log(response.data.data.length)
            for(var i =0; i < response.data.data.length; i++)
                data.push(response.data.data[i].todo)
            
            this.setState(todos: data)
        );
    
  
    render() 
        
        return (
            <div>
                <input type="text" onChange=this.changeHandler/>
                <button type="submit" onClick=this.clickHandler>add</button>
                <div>
                    <ul>this.state.todos.map((todo, index) => <li key=index>todo</li>)</ul>
                </div>
            </div>
        )
    


export default Todo


【问题讨论】:

【参考方案1】:

您收到该警告是因为即使您在 App.js 文件中导入 Todo 文件,但您没有在任何地方使用它。尝试在 App.js 中使用它或删除导入(以防万一需要它)。那应该可以解决警告。 或者在 App.js 中的 import Todo.. 语句之前添加// eslint-disable-next-line

【讨论】:

我按照一篇文章制作了这个应用程序,也许我错过了一些东西,因为它们包含了 Todo 文件。所以不要说是什么导致了这个问题。请进一步指导我。 您是否尝试删除导入?只需尝试一次。看看你会得到什么。 它不见了,但问题是我没有得到待办事项列表应用程序输出 @VihangKale 尝试在 App.js 中的 import Todo 语句之前添加 // eslint-disable-next-line 。除此之外,一旦您在 App.js 代码中使用 Todo 文件,它将消失。您可能还会发现 ***.com/questions/42541559/… 有帮助 @VihangKale 看看你是否没有使用导入,那么无论如何保留它是没有意义的,通过使用导入你将摆脱警告。

以上是关于如何解决 NodeJS 中的这个 no-unused-vars 错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过nodejs中的get请求使用req.body

如何解决 NodeJS 中的“TypeError:将循环结构转换为 JSON”

如何在nodejs中发送api数据例如作为描述框给出

如何优雅的处理Nodejs中的异步回调

如何优雅的处理Nodejs中的异步回调

如何解决 Nodejs google-auth-library 无效令牌签名错误?