首页 > 解决方案 > 预期 `onClick` 侦听器是一个函数,而不是 `string` 类型的值

问题描述

警告:预期onClick的侦听器是一个函数,而不是一个string类型的值。在跨度(在 App.js:62)中在 div(在 App.js:61)中 在表单(在 App.js:60)在 div 中(在 App.js:58)在 div(在 App.js:46)在应用程序中(在 index.js:8 处)

当我尝试获取按钮的 onclick 事件时,我在 App.js 中收到此错误。

<h2>Login From Here..!</h2>

                <button onClick={document.getElementById('id01')}>Login</button>

谁能解释我如何摆脱这个错误?

标签: javascriptreactjsonclick

解决方案


这不是一个函数:

document.getElementById('id01')

这是一个函数调用,所以从这个函数返回的都是一个值,这个值被转换为一个字符串,然后传递给你的onClick. 相反,使用这样的东西:

event => document.getElementById('id01')

或者这个更长的版本:

function( event ){

    return document.getElementById('id01');

}

它仍然没用,因为它会将元素返回到......无处,就是这样,但至少它摆脱了你的Error.


推荐阅读