首先,对这个不好的称呼感到抱歉。我无法制定出与我的问题有关的合适的答案。
我有一个与react代码有关的小问题。
My Child组件作为道具传递了onValueChanged函数。父级的父级已将此函数作为道具提供给父级。
当Child触发onValueChanged函数时,如何调用我的specialFunction。
(!)我无法在Child中扩展onClick调用,该调用会触发onValueChanged函数。子代码无法更改。
class Parent extends React.Component {
constructor(props) {
super(props);
}
specialFunction(){
/* do something */
}
render() {
return (
<Child onValueChanged={this.props.onValueChanged} />
);
}
}
class Child extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<Button onClick={this.prop.onValueChanged} />
);
}
}
最佳答案
插入另一个函数并将其传递下去(然后触发您的实例方法):
<Child onValueChanged={(...args) => {
this.specialFunction();
this.props.onValueChanged(...args);
}} />