:Reactコンポーネントクラスのメソッドとして外部関数を追加できますか?以下は、コンポーネントリアクト考える
class MyComponent extends Component {
sayGreeting =() => {
return this.props.greeting;
}
render() {
return (
<div>{this.sayGreeting()}</div>
);
}
}
greeting
は小道具を経由して渡され、単なる文字列メッセージです。 sayGreeting()が複数のコンポーネントで使用されていて、全く同じ定義で使用されている場合、ファイルに抽出して(次のコードを参照)、必要に応じて各コンポーネントに何らかの形で含めることができます。これは、Rubyのようなプログラミング言語のincludeモジュール(またはmixin?)パターンに似ています。
export const sayGreeting =() => {
return this.props.greeting;
};
私はそのファイルからsayGreetingをインポートし、そのようにMyComponentというのプロトタイプを設定することにより、それを行うことができました:
import { sayGreeting } from './someFile';
// ...
MyComponent.prototype.sayGreeting = sayGreeting;
しかし、小道具はできませんので、問題が、「この」キーワードであります定義された。私はthis.sayGreeting = this.sayGreeting.bind(this)
を使用してコンストラクタでバインドしようとしましたが、動作しませんでした。
あなたは常に ''