gpt4 book ai didi

javascript - ReactJS - 无法读取未定义的属性 'preventDefault'

转载 作者:数据小太阳 更新时间:2023-10-29 06:09:27 25 4
gpt4 key购买 nike

尝试在 ReactJS 中执行一个简单的 onClick 事件/函数。

单击按钮时,我想运行一个名为“onClick”的函数,但我在控制台中收到此错误:

app.js:62 Uncaught TypeError: Cannot read property 'preventDefault' of undefined

已用谷歌搜索,但不确定我哪里出了问题。我查看了 ReactJs 文档,这看起来是正确的,但显然不是。这是我的代码:

import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter} from 'react-router-dom';
import axios from 'axios';

import Navbar from './components/Navbar';
import Header from './components/Header';
import GiphyButton from './components/GiphyButton';
import './assets/sass/main.scss';

class App extends React.Component {

constructor() {
super();

this.state = {
giphy: []
};

this.handleClick = this.handleClick.bind(this);
}

handleClick(e) {
e.preventDefault();

console.log('giffy button clicked');
axios.get('http://api.giphy.com/v1/gifs/search?q=otters&api_key=<API KEY>')

.then(res => {
this.setState({ giphy: res.data });
console.log(res.data);
});
}

render() {
return (
<BrowserRouter>
<main>
<Navbar />
<Header />
<GiphyButton onClick={this.handleClick()}/>
</main>
</BrowserRouter>
);
}
}

ReactDOM.render(
<App />,
document.getElementById('root')
);

GiphyButton 是一个组件,从字面上看,它只是一个 .此处没有其他功能运行:

从'react'导入React;

const GiphyButton = () => (

<section>
<button>See more otters</button>
</section>
);

export default GiphyButton;

谢谢。

最佳答案

您应该将此事件绑定(bind)到“handleClick()”函数。如下,

<GiphyButton onClick={this.handleClick.bind(this)}/>

关于javascript - ReactJS - 无法读取未定义的属性 'preventDefault',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51004969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com