HOCは、おそらく他のHOCと一緒にミックスインとして使用されることが想定されているので、冗長ではありますが(例:HOCの名前が前に付いています)高次コンポーネントに反応するべきである(ホック)文脈的な小道具の名前を提供するべきか?
これは、何がベストプラクティスであるべきかの問題と考えられると思います。窓のような振る舞いを注入するため、このHOCのためのより良いです例えばので
、:
@window
@otherMixin
class BasicView extends React.Component {
render() {
const {close, open} = this.props; //these are provided by @window
}
}
命名非コンテキスト短いVS コンテキスト命名(接頭辞)
@window
@otherMixin
class BasicView extends React.Component {
render() {
const {windowClose, windowOpen} = this.props //these are provided by @window
}
}
OR コンテキスト命名(ネスト)
@window
@otherMixin
class BasicView extends React.Component {
render() {
const {window} = this.props; //provided by @window
window.open();
window.close();
/* optionally we can destructure and work with the shorter
* non-contextually named props while still maintaining
* a declaration of their context to disambiguate
*/
//const {window: {open, close} } = this.props;
}
}
リアクションコンテキストを使用しなくても、私は、「コンテキストネーミング(ネスト)」パターンが、プロペス名前空間の最小限のフットプリントなどの理由で、より良いものであることがわかります。残念ながら、すべてのHOCライブラリがこれに従うわけではありません。ここで私の質問を促してください。 – bitstrider
名前を付けるvars 'window'のヒント – bitstrider