を反応します。は、私はプレーヤーのライブラリを作成し、[次のように行くための流れに反応したいのです高次コンポーネントの初期小道具
私がこの方向に進むことを望むのは、には、PlaylistHOC
とFooterContainer
がアクセスする必要がある(つまり、小道具から)という方法があります。
マイコード:
class FooterContainer extends React.Component {
render() {
return (
<div>
<div className="jp-type-footer" >
//...
</div>
</div>
);
}
}
class FooterPlayer extends React.Component {
constructor() {
super();
this.options = {
smoothPlayBar: false,
muted: true,
//...
};
}
render() {
return (
<Player {...this.options} />
);
}
};
export const PlaylistHOC = (WrappedComponent) => class extends React.Component {
constructor(props) {
super(props);
//Add a new stateClass for the extra loop option
this.stateClass = merge({
shuffled: "state-shuffled",
loopedPlaylist: "state-loop-playlist"
}, this.props.stateClass);
}
setPlaylist =() => {}
};
export const PlayerHOC = (WrappedComponent) => class extends React.Component {
constructor(props) {
super(props);
//get passed in props from FooterPlayer and PlaylistHoc
}
play =() => {}
pause =() => {}
};
const Player = PlayerHOC(PlaylistHOC(FooterContainer));
export default connect()(FooterPlayer);
は私も正常に動作しPlayerHOC
にFooterPlayer
から小道具を渡します。しかし、私はまた、PlaylistHOC
からPlayerHOC
へのデフォルトの小道具を渡したいと思います。これは決して更新されないでしょう。例えば
:const Player = PlaylistHOC(PlayerHOC(FooterContainer));
これは私がPlaylistHOC
とFooterPlayer
からPlayerHOC
に最初の小道具に渡すことができるようになるが、その後、私は小道具でPlayerHOC
メソッドにアクセスすることはできません。
どうすればよいですか?
良い考えですが、どちらのメソッドも未定義です。また、 'WrappedComponent()'はエラーを投げます。だから私はこのようにすることはできないと思う。 –
私は 'componentDidMount'でも試しました –
' WrappedComponent'はクラスへの参照であり、プロトタイプの継承に依存しているので、メソッドは 'prototype'で利用できるはずです。新しいコードを試してください –