09-11-2021
React element的处理事件与DOM element处理类似,但有语法上的差异。
string
// 在HTML 中的写法
<button onclick="activateLasers()">
Activate Lasers
</button>
// 在JSX中的写法
<button onClick={activateLasers}>
Activate Lasers
</button>
retuen false
,来避免浏览器的预设行为;而是使用PreventDefault
// 在HTML中写法
<form onsubmit="console.log('You clicked submit.'); return false">
<button type="submit">Submit</button>
</form>
// 在React 中写法
function Form() {
function handleSubmit(e) {
e.preventDefault();
console.log('You clicked submit.');
}
// e 在这里是一个事件(synthetic event)
return (
<form onSubmit={handleSubmit}>
<button type="submit">Submit</button>
</form>
);
}
addEventListner
加上listner
,只需要在这个element在一开始被render时提供一个listener
// 使用箭头函式的写法
class LoggingButton extends React.Component {
handleClick() {
console.log('this is:', this);
}
render() {
// 这个语法确保 `this` 是在 handleClick 中被绑定:
return (
<button onClick={() => this.handleClick()}>
Click me
</button>
);
}
}
<button onClick={(e) => this.deleteRow(id, e)}>Delete Row</button>
// 使用箭头函示
<button onClick={this.deleteRow.bind(this, id)}>Delete Row</button>
// 使用Function.prototype.bind
e 这个参数会被当作ID之後的第二个参数传递下去。在箭头函示时,必须明确的传递;若使用bind语法,将会传递任何参数下去。
<<: 离职倒数20天:我想要创造新的连结,让我可以不要在这条新的路上这麽无助
>>: 10. 解释 AJAX 的工作原理(XMLHttpRequest)
介绍: 贝式分类器(Bayesian Classifier)是一种基於机率模型的机器学习模型。它有很...
复习:渗透测试的目的 在合法委托下,确认目标网站或系统有可利用的漏洞,若确认有目标在取得授权下,提升...
中心化交易所(CEX)和去中心化交易所(DEX),区分两者最主要就是依据,「钱包是否是自己管理的」。...
前言 Functional Programming 其实是我相对不熟的主题,但因为在写一些较难的程序...
前言 大家好,我是rei1997 想趁着这次的铁人赛督促自己学一些新东西, 虽然天天都在加班,只能趁...