【发布时间】:2017-11-18 22:25:45
【问题描述】:
我有一个看起来像这样的component
class Test extends React.Component {
onClick() {
alert("I am a Component")
}
render() {
const { fromContainer } = this.props
return (
<a href="#" onClick={ this.onClick }>Test Link</a>
);
}
}
在我的container 中,我将Test 连接到Store。我需要在onClick 上调用两个函数。 component本身定义的一个函数(onClick()和alert(),另一个是函数fromContainer,它是一个action,通过reducer等。
如何让组件知道函数fromContainer。
当只调用一个函数时:
class Test extends React.Component {
render() {
const { fromContainer } = this.props
return (
<a href="#" onClick={ fromContainer }>Test Link</a>
);
}
}
就是这样。但它不适用于在不同“位置”定义的两个函数。
【问题讨论】:
-
你知道
this.onClick在你的第一个版本中会失去它的上下文不是吗?在这里使用箭头函数有很大的潜在好处,比如() => this.onClick()
标签: javascript reactjs redux