だから、私は相続と対戦の話し合いを全面的に行っていました。私の使用事例についてお話します。リアクションコンポジション対継承
私はreactを使用してコンポーネントの階層を作成しています。ボタン - > buttonBarのようなもの。このようなことをするために、buttonBarコンポーネントにあるように、ボタンコンポーネントで定義した機能が何であれ必要です。
class Button extends React.Component {
shouldComponentUpdate() {
//do some prevalidation
return result;
}
myButtonfn =() => {
//do Something here
}
myButtonfn2 =() => {
//doSomething else
}
}
class ButtonBar extends Button {
shouldComponentUpdate() {
return myLogic && super.shouldComponentUpdate.call(this);
}
myButtonBarfn =() => {
//I should be able to do this
this.myButtonfn();
this.myButtonfn2();
}
}
現在、私はこれを実現するために継承を実装しています。これについて正しい方法は何ですか?私はこれを使用してes5の方法に戻って行きたくありません。 React.createClass。
コンポーネント内の関数の使用方法。
class Button extends React.Component {
shouldComponentUpdate() {
//do some prevalidation
return result;
}
myButtonfn =() => {
//do Something here
}
myButtonfn2 =() => {
//doSomething else
}
}
class ButtonBar extends React.Component {
doSomething =() => {
this.refs.abcd.myButtonfn();//To be able to do this, HOC doesn't work
}
render =() => {
return (<Button ref="abcd"/>);
}
}
高次成分を見てみましょう:このように
小道具として –
@TMitchellちょっと考えて、HOCは彼が何を望んでいるのか少しすぎると思いませんか? –
@TahnikMustasinはどんな意味であまりにも多いですか? –