与箭头函数混淆反应

时间:2021-02-05 02:24:54

标签: javascript reactjs onclick arrow-functions

import React, {useState} from "react";

function Todo({todo,index,removeTodo}){
    return(
    <div className="todo"> 
        {todo.text}


        <div>
            <button onClick={() => removeTodo(index)} > Remove </button>

        </div>
    </div>
    );
}

export default Todo;

有人可以解释为什么我需要在调用函数之前加上 () => 吗?

2 个答案:

答案 0 :(得分:0)

看看这篇文章:Correct use of arrow functions in React

应该会有所帮助。请务必参考答案,而不是上面链接中的问题。

答案 1 :(得分:0)

onclick 是一个原生的 js 事件监听器,它需要一个函数并在其中传递一个事件对象, 如果您的 removeTodo 函数正在返回一个函数,那么它应该可以工作,但是您的函数应该如下所示:

function removeTodo(index) {

 return () => {}
}

我认为这不是个案。