当前位置: 首页 > 知识库问答 >
问题:

ReactJS组件中的简单javascript不工作[重复]

韶弘壮
2023-03-14

这是我的组件

import React, {Component} from 'react';
import 'D:/School/Alta/interactiveweb/src/webapp/src/App.css'

class Chat extends Component {

  test() {
    alert();
  }

  render() {
    return <nav onClick={this.test()} className={"menu"} id={"Chat"}>
        <div className={"menu-itemContainer"}>
            <div className={"menu-item"}>
                <img alt={""} className={"chatPF"} src={require('./Images/defaultPF.png')}/>
                <a className={"chatname"}>Test</a>
                <a className={"chatlastuser"} id={"chatlastuser"}>
                    <font color={"orange"}>Bram: </font>wow wtf...
                </a>
                <a className={"chatlasttime"}>20:28</a>
            </div>
        </div>
    </nav>;
  }
}

export default Chat;

启动时,它将多次运行该功能,但当它加载后,我单击导航时,它将无法工作。

共有3个答案

湛嘉歆
2023-03-14

您可以在此处了解有关React中事件的更多信息。话虽如此,以下几点应该是可行的。您每次渲染组件时都会调用该函数,但您希望仅在单击时调用该函数。要做到这一点,您只需传递随后将被激发的处理程序/方法。

import React, {Component} from 'react';
import 'D:/School/Alta/interactiveweb/src/webapp/src/App.css'

class Chat extends Component {
  test() {
    alert();
  }

  render() {
    return <nav onClick={this.test} className="menu" id="Chat">
        <div className="menu-itemContainer">
            <div className="menu-item">
                <img alt="" className="chatPF" src={require('./Images/defaultPF.png')}/>
                <a className="chatname">Test</a>
                <a className="chatlastuser" id="chatlastuser">
                    <font color="orange">Bram: </font>wow wtf...
                </a>
                <a className="chatlasttime">20:28</a>
            </div>
        </div>
    </nav>;
  }
}

export default Chat;
董康平
2023-03-14

将其更改为onClick={this.test}onClick={()=

您不想调用属性中的函数,只想声明它们。单击事件发生时将调用它们。

金何平
2023-03-14

您需要使用onClick={this.test()},而不是onClick={this.test}。正如您所看到的,它立即调用函数,并在onClick侦听器中保持未定义状态。通过按原样传递函数,可以确保在单击元素时正确调用该函数。

onClick={()=

 类似资料:
  • 下面是我为制作一个简单游戏而编写的一些基本代码的框架: 代码未按预期工作,例如,以下是代码的预期功能: 但是,再次读取播放行存在问题,这是实际输出: 如您所见,“再次播放”之前再次显示“输入您的姓名”能够接受输入。调试时,playing变量被设置为“”,因此我看不到任何输入,也无法确定正在使用什么。任何帮助都将不胜感激,谢谢!

  • 我尝试使用。如何在react应用程序中导航到其他页面? 这就是我添加react-router-dom链接方法的方式。 然后我收到以下错误:尝试导入错误:“react-router-dom”不包含默认导出(作为“link”导入)。

  • 我完全卡住时集成HOC在我的react.js项目。 这是我的路线文件 我对此完全崩溃了,但没有摆脱那个问题。为什么我的控制台中的不显示值 有任何问题与反应和反应路由器的版本 提前谢谢你!!!

  • 我有HttpClient 4.1。请看看以下程序: 当我运行这个时,我得到了org。阿帕奇。http。客户ClientProtocolException。可能有什么问题?

  • 我正在尝试使用渲染插件将一个简单的模板保存到pdf,但无论我怎么尝试都无法让它工作。我所需要的只是让它在服务器上的文件系统中保存一个文件并重定向到不同的页面。 此时,pdf模板不需要任何参数,因为它只打印hello world。一旦我开始工作,我会尝试添加一些数据。 我收到错误消息,说如果没有附加“/”,我需要指定控制器。但我试图添加这一点,但没有任何效果。另外,我不知道它需要哪个控制器,因为我已

  • 有一行。我如何通过分隔符“,”将其分割成数组。如果您尝试拆分,将返回相同的行