我想使用ReactJS将函数传递给自定义元素
ReactJS组件
import React from 'react';
import './SampleComponent';
export class Button extends React.Component {
handleClick = (event) => {
console.log(event)
}
render() {
return (
<div>
<sample-component onclick="handleClick"></sample-component>
</div>
)
}
};
自定义元素
class SampleComponent extends HTMLElement {
static get observedAttributes() {
}
// custom methods
render() {
this.innerHTML = `Custom Element`;
}
// lifecycle hooks
connectedCallback() {
this.render();
}
}
window.customElements.define('sample-component', SampleComponent);
据我了解,当我传递onclick函数handleClick
时,JS将在Custom Element实现中搜索它(这就是为什么在控制台中出现错误的原因)。那么如何传递函数呢?我尝试了"this.handle"
,但是也没有用。
答案 0 :(得分:1)
由于反应Documentation,您的html应该看起来像这样
<sample-component onClick={handleClick}></sample-component>