javascript - 为什么我的 React 应用总是无法编译?
问题描述
我正在学习反应并构建一个简单直接的列表应用程序。但是,它不断抛出此错误:
./src/App.js
Line 9:35: 'Todo' is not defined react/jsx-no-undef
Search for the keywords to learn more about each error.
我不确定为什么这个错误不断抛出。我已经定义了我的 ToDo js 文件 - 我相信我正确地导出了它,然后正确地导入了 App js 文件。我错过了什么吗?
App.Js 文件:
import React from 'react';
import logo from './logo.svg';
import './App.css';
import ToDo from './ToDo.js'
import DoData from './DoData.js'
function App() {
const val = DoData.map(item => <Todo key = {item.id} item = {item}/>)
return (
{val}
);
}
export default App;
ToDo.js 文件:
import React from 'react'
function Todo(props){
return(
<div className = "todo-item">
<input type ="checkbox" checked = {props.things.completed}></input>
<p>{props.things.description}</p>
</div>
)
}
export default Todo
DoData.js:
let DoData = [
{
id: 1,
description: "go for a walk",
completed: true
},
{
id: 2,
description: "babysitting",
completed: true
},
{
id: 3,
description: "watch MadMen",
completed: false
},
{
id: 4,
description: "See the mailman",
completed: true
},
{
id: 5,
description: "Say hello to the world",
completed: false
}
]
export default DoData.js
解决方案
选项1
Update
import ToDo from './ToDo.js'
to
import Todo from './ToDo.js'
as you are using <Todo key = {item.id} item = {item}/> in your app
选项 2
Update
<Todo key = {item.id} item = {item}/>
to
<ToDo key = {item.id} item = {item}/>
as you are importing component as ToDo
import ToDo from './ToDo.js'
当您在 ToDo.js 文件中将 ToDo 导出为默认值时,您可以在应用程序的任何位置在导入时将其用作任何名称。但请确保在渲染组件时,它与顶部的导入名称匹配。
推荐阅读
- javascript - 如何从 html 按钮单击执行 JavaScript?
- kubernetes - 从特定 IP 地址出口 kubernetes 服务/pod
- javascript - 我如何解析下一个字符串:
- android - 如何在 gradle 中启用视图绑定?
- apache-spark - Spark Shuffle 写入大小是输入大小的 7500 倍
- javascript - 无法访问模块函数中的 quill 实例
- postgresql - 与触发函数和插入语句sql有关的错误
- python - Python中的多个窗口,tkinter
- 3d - 使用 Python 创建 3D EEG 地形图
- python - 一定半径内分组 GPS 数据的平均值