Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在React中为函数组件创建onClick处理程序?_Javascript_Reactjs_Events_Onclick_React Component - Fatal编程技术网

Javascript 如何在React中为函数组件创建onClick处理程序?

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('激光激活!'); }; 返回( 一些文本 ) } // ==========================

目标是让应用程序组件在单击时做一些事情(在本例中执行ActivateRasers)

控制台给了我这个:

src\index.js 第8:12行:“activateLasers”已定义,但从未使用过无未使用的变量

从“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')
);