鉴于以下内容,我如何在componentDidMount中触发Foo组件的事件:
import React, {Component} from 'react';
import Foo from 'Foo';
export default class Bar extends Component {
componentDidMount() {
// How to trigger the onChange event for this.refs.foo
}
render() {
const onFooChanged= (resultFromFoo) => {
// do stuff
};
return (
<div>
<Foo ref="foo" onChange={onFooChanged} />
</div>
);
}
}
答案 0 :(得分:2)
如果你将onChange函数作为道具注入,你只需要访问道具并调用它。
componentDidMount() {
this.refs.foo.props.onChange()
}
我添加了一个小提琴: https://jsfiddle.net/69z2wepo/27193/
答案 1 :(得分:0)
您也可以将getAttributeNS()
函数移出onChange
方法并直接调用它。由于该方法位于render
类,因此无需通过Bar
组件来调用它。
Foo