React将onClick作为props传递给子组件是否是必需的?

14 浏览
0 Comments

React将onClick作为props传递给子组件是否是必需的?

我试图通过在父组件中添加onClick来触发子组件内的onClick函数调用,但是没有成功。

// 父组件

class MainForm extends Component {

// 代码在这里

handleClick = () => {

console.log('clicked!');

}

render {

return (

text="Click Me!"

onClick={this.handleClick}>

/>

);

};

// 子组件

export const LinkButton = (props) => {

return (

);

};

这样做没有起作用。点击时并没有调用onClick函数。我通过在子组件中添加onClick调用来修复了它。

// 子组件

export const LinkButton = (props) => {

return (

);

};

这样做起作用了。我的问题是为什么?不论元素内部是什么,onClick难道不应该被调用吗?为什么我还要明确地将它传递给子组件呢?

我希望能够理解这种方式的原因,以及为什么我尝试的第一种方式不起作用。谢谢!

0