ベストプラクティスに基づいていくつかのリアクションコンポーネント関数を公開する正しいオプションは何ですか?上にコンポーネントを使用リアクタコンポーネント関数を公開する
export const someFunction =() => { //do something }
class MyComponent extends Component {}
export default MyComponent;
:
OPTION 1
する外部様成分の関数を作成
import MyComponent, { someFunction } from './components/myAwesomeComponent';
class ChildComponent extends Component {
parentComponentFunction() {
someFunction();
}
render() {
<div>
<MyComponent />
</div>
}
}
OPTION 2
(内部共通関数を作成します方法のようなコンポーネントのように:
コンポーネントを使用してclass MyComponent extends Component {
someFunction() {
//
}
}
export default MyComponent;
以上:
import MyComponent frrom './components/myAwesomeComponent';
class ChildComponent extends Component {
parentComponentFunction() {
this.refs.parentComponent.someFunction();
}
render() {
<div>
<MyComponent ref="parentComponent" />
</div>
}
}
オプション3
は、それが
が存在する場合、それは意味を成していたり、より良い例が必要なのか分かりませんか?
あなたの質問はあまりにもあります抽象。あなたが達成しようとしていることを明確に述べてください。一般的に、コンポーネントメソッドを「呼び出し」することは決してありません。代わりに、あるコンポーネントから別のコンポーネントに関数を渡します。 –
これは音楽プレーヤーであり、someFunction()は再生、停止などのようなものです...コンポーネントを作成する代わりに、コンポーネントの代わりに独自のボタンが含まれています。 私は小道具の機能として私の通過の方法を知っていますが、それは親から子供だけに働く...私が欲しいものは逆ですが、それは良い練習であるかどうかわかりません。 ありがとう – Carlos
リアクションでは、より宣言的な方法で作業する必要があります。 'MusicComponent.play()'の代わりに ' 'や ' 'があります。親は子供たちに小道具を渡し、小道具だけを渡します。しかし、それらの小道具は変更することができ、それは親が子どもを操作する小道具を変更することです。 –