Javascript 如何在React中为函数组件创建onClick处理程序?
目标是让应用程序组件在单击时做一些事情(在本例中执行ActivateRasers) 控制台给了我这个: src\index.js 第8:12行:“activateLasers”已定义,但从未使用过无未使用的变量Javascript 如何在React中为函数组件创建onClick处理程序?,javascript,reactjs,events,onclick,react-component,Javascript,Reactjs,Events,Onclick,React Component,目标是让应用程序组件在单击时做一些事情(在本例中执行ActivateRasers) 控制台给了我这个: src\index.js 第8:12行:“activateLasers”已定义,但从未使用过无未使用的变量 从“React”导入React; 从“react dom”导入react dom; 导入“./index.css”; 函数App(){ 功能激活剂(){ console.log('激光激活!'); }; 返回( 一些文本 ) } // ==========================
从“React”导入React;
从“react dom”导入react dom;
导入“./index.css”;
函数App(){
功能激活剂(){
console.log('激光激活!');
};
返回(
一些文本
)
}
// ========================================
ReactDOM.render(
,
document.getElementById('root'))
);
这是因为您在应用程序
功能中定义了功能激活器
,但在其外部不可用
从“React”导入React;
从“react dom”导入react dom;
导入“./index.css”;
功能应用程序(道具){
返回(
一些文本
)
}
功能激活剂(){
console.log('激光激活!')
}
ReactDOM.render(
,
document.getElementById('root'))
);
另外,请注意JSX中的表达式不应插入引号内
关于您所说的错误,这只是因为该函数没有在其父范围内使用
更新:如果要在组件内部使用该功能,只需在组件内部使用即可:
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
function App() {
function activateLasers(){
console.log('Lasers activated!')
}
return (
<div onClick={activateLasers}>
<h1>some text</h1>
</div>
)
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
从“React”导入React;
从“react dom”导入react dom;
导入“./index.css”;
函数App(){
功能激活剂(){
console.log('激光激活!')
}
返回(
一些文本
)
}
ReactDOM.render(
,
document.getElementById('root'))
);
在您的代码中,ActivateRasers
功能“从未使用过”,因为它不在组件范围内
在正确范围内应用该功能的一种方法是:
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
function App() {
function activateLasers(){
console.log('Lasers activated!');
};
return (
<div onClick='{activateLasers}'>
<h1>some text</h1>
</div>
)
}
// ========================================
ReactDOM.render(
<App/>,
document.getElementById('root')
);
从“React”导入React;
从“react dom”导入react dom;
导入“./index.css”;
函数App(){
功能激活剂(){
console.log('激光激活!');
};
返回(
一些文本
)
}
// ========================================
ReactDOM.render(
,
document.getElementById('root'))
);
似乎对我不起作用。我应该把activateLasers功能放在哪里?你在问为什么会被否决:原因是stackoverflow不是新手的教程网站,而是在彻底调试和研究失败后作为最后手段。你的问题是由于不了解JS和React的基本原理而引起的,像这样的问题通常会得到反对票。这就是这里的工作原理。谢谢你的回答!我更正了我的MyStake,没有收到任何错误,但是当我单击时,该函数似乎没有执行。另外,我对stackoverflow和编程都是新手,我的问题有问题吗?因为我不喜欢这里的地狱@科维尔:我更新了我的答案。没关系,这是你旅程的开始,你会像我们一样学习。在询问有关stackoverflow的问题之前,请确保您已经搜索了足够的内容。
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
function App() {
function activateLasers(){
console.log('Lasers activated!');
};
return (
<div onClick='{activateLasers}'>
<h1>some text</h1>
</div>
)
}
// ========================================
ReactDOM.render(
<App/>,
document.getElementById('root')
);