親コンポーネントから子メソッドにアクセスしようとしています。これは私が_childが未定義であることを私に言ってエラーが出る)子コードがreactjsのコンポーネントメソッドへのアクセスが機能しない
class child extends Component {
someMethod(v) {
// do something
}
render(){
return(
...
)
}
}
のように見え、これはhoverOnに親コード
class Parent extends Component {
hoverOn(){
this._Child.someMethod(10); // _Child is undefined here
}
render(){
return(
<div onMouseOver={this.hoverOn.bind(this)}>
<OtherChild ....>
<Child ref={(Child) => { this._Child = Child; }} />
</div>
)
}
}
(ある方法です。 someMethod()を親クラスから呼び出すにはどうすればよいですか?
うーん。奇妙な。コードスニペットが正しいようです。 –
あなたの子コンポーネントのクラス名は 'child'ですが、' Child'でなければなりません。あなたがonMouseOverイベントを持っているので、コンポーネントがマウントされる前にトリガされる可能性があります。 'this._Child && this._Child.someMethod(10);' –