Javascript 什么';我下面的代码有什么问题? 从“React”导入React 从“/Header”导入标题 从“/ToDoItem”导入ToDoItem 从“/toDoData”导入toDoData 类应用程序扩展了React.Component{ 建造师(道具){ 超级(道具) this.handleChange=this.handleChange.bind(this) } 手柄更换(id){ 日志(“Id值:”,Id) } render(){ const toDoTasks=toDoData.map(函数(toDos){ 回来 }) 返回( {toDoTasks} ) } } 导出默认应用程序

Javascript 什么';我下面的代码有什么问题? 从“React”导入React 从“/Header”导入标题 从“/ToDoItem”导入ToDoItem 从“/toDoData”导入toDoData 类应用程序扩展了React.Component{ 建造师(道具){ 超级(道具) this.handleChange=this.handleChange.bind(this) } 手柄更换(id){ 日志(“Id值:”,Id) } render(){ const toDoTasks=toDoData.map(函数(toDos){ 回来 }) 返回( {toDoTasks} ) } } 导出默认应用程序,javascript,reactjs,this,Javascript,Reactjs,This,错误 TypeError:这是未定义的 render/toDoTasks问题就在这里 import React from "react" import Header from "./Header" import ToDoItem from "./ToDoItem" import toDoData from "./toDoData" class App extends React.Component{ constructor(props){ super(props)

错误

TypeError:这是未定义的

render/toDoTasks问题就在这里

import React from "react"
import Header from "./Header"
import ToDoItem from "./ToDoItem"
import toDoData from "./toDoData"

class App extends React.Component{
    constructor(props){
        super(props) 
        this.handleChange=this.handleChange.bind(this)
    }

    handleChange(id){
        console.log("Id value : ",id)
    }

    render(){
        const toDoTasks = toDoData.map(function (toDos){
            return <ToDoItem 
                        key={toDos.id}
                        handleChange={this.handleChange} // Line 26
                    />
        })

        return(
                <div className="rootComponent">
                    <Header />
                    {toDoTasks}
                </div>
        )
    }
}

export default App
const toDoTasks=toDoData.map(函数(toDos){
回来
})
函数(toDos)创建一个单独的作用域,它不再引用类实例

改成

 const toDoTasks = toDoData.map(function (toDos){
            return <ToDoItem 
                        key={toDos.id}
                        handleChange={this.handleChange} // Line 26
                    />
        })
const toDoTasks=toDoData.map(toDos=>);

将按预期工作,因为箭头函数保留父作用域,而不创建自己的作用域。

请提供
ToDoItem
toDoData.map(函数(toDos){
更改为箭头函数,它将工作更改为
toDos=>{
Dupe of Dupe of其工作如预期。谢谢。
 const toDoTasks = toDoData.map(toDos => <ToDoItem key={toDos.id} handleChange={this.handleChange}/>);