Reactjs React高阶组件(hoc)是否应该为相关道具提供名称?

Reactjs React高阶组件(hoc)是否应该为相关道具提供名称?,reactjs,higher-order-components,Reactjs,Higher Order Components,既然假设HOC被用作混音器,可能与其他HOC一起使用,那么是否最好插入上下文相关但冗长的道具名称(例如,以HOC名称作为前缀) 我想这应该被视为一个什么是最佳做法的问题 因此,例如,对于注入类似窗口的行为来说,这种HOC哪一个更好: 简短的非上下文命名 @窗口 @其他混合素 类BasicView扩展了React.Component{ render(){ const{close,open}=this.props;//这些由@window提供 } } VS上下文命名(前缀) @窗口 @其他混合素

既然假设HOC被用作混音器,可能与其他HOC一起使用,那么是否最好插入上下文相关但冗长的道具名称(例如,以HOC名称作为前缀)

我想这应该被视为一个什么是最佳做法的问题

因此,例如,对于注入类似窗口的行为来说,这种HOC哪一个更好:

简短的非上下文命名

@窗口
@其他混合素
类BasicView扩展了React.Component{
render(){
const{close,open}=this.props;//这些由@window提供
}
}
VS上下文命名(前缀)

@窗口
@其他混合素
类BasicView扩展了React.Component{
render(){
const{windowClose,windowOpen}=this.props//这些由@window提供
}
}
上下文命名(嵌套)

@窗口
@其他混合素
类BasicView扩展了React.Component{
render(){
const{window}=this.props;//由@window提供
window.open();
window.close();
/*或者,我们可以解构并使用较短的
*非上下文命名的道具,同时仍保持
*为消除歧义而对其上下文进行的声明
*/  
//const{window:{open,close}}=this.props;
}
}

通常,库设计人员会为其提供react上下文和hoc以订阅上下文对象。您可能认为使用上下文是不必要的。然而,大多数库设计人员都受到“上下文命名(嵌套)”的限制,因为上下文就是这样工作的

这个问题实际上只是个人意见的问题,但是如果你想遵循其他图书馆的模式,那你就应该选择


最后一点,出于明显的原因,我强烈建议不要证明名为
window
的变量。

通常,库设计人员会提供react context和hoc来订阅context对象。您可能认为使用上下文是不必要的。然而,大多数库设计人员都受到“上下文命名(嵌套)”的限制,因为上下文就是这样工作的

这个问题实际上只是个人意见的问题,但是如果你想遵循其他图书馆的模式,那你就应该选择


最后一点,我强烈建议不要因为明显的原因而证明名为
window
的变量。

即使不使用react上下文,我也会发现“上下文命名(嵌套)”模式更好,原因包括props命名空间上的占用空间最小。不幸的是,并不是所有的HOC库都遵循这一点,在这里提示我的问题即使不使用react上下文,我也发现“上下文命名(嵌套)”模式更好,原因是props名称空间占用的空间最小。不幸的是,并不是所有的HOC库都遵循这一点,请在这里提示我的问题