Javascript 如何重用React组件而不必更改其内部支柱?

Javascript 如何重用React组件而不必更改其内部支柱?,javascript,reactjs,Javascript,Reactjs,我不知道这是否存在。我尝试重用一个组件,但是,我尝试重用的组件接收道具,并且已经在组件内部处理它们 如果我在另一个地方重复使用这个组件,我将不得不更改收到的所有道具 这是在React中开发时的常见现象还是我做错了什么?我认为您应该将带有道具的组件分为两部分: 组件A.功能(以及所需的所有道具) 组件B.一种容器类型,没有支柱,仅容纳组件a 希望这对你有帮助 Yes是常见的,通常使用HoC(高阶组件) 参考: 范例 函数日志道具(WrappedComponent){ 返回类扩展了React.Co

我不知道这是否存在。我尝试重用一个组件,但是,我尝试重用的组件接收道具,并且已经在组件内部处理它们

如果我在另一个地方重复使用这个组件,我将不得不更改收到的所有道具


这是在React中开发时的常见现象还是我做错了什么?

我认为您应该将带有道具的组件分为两部分:

组件A.功能(以及所需的所有道具)

组件B.一种容器类型,没有支柱,仅容纳组件a


希望这对你有帮助

Yes是常见的,通常使用HoC(高阶组件)

参考:

范例

函数日志道具(WrappedComponent){
返回类扩展了React.Component{
组件将接收道具(下一步){
log('Current props:',this.props);
log('Next props:',nextrops);
}
render(){
//将输入组件包装在容器中,而不会对其进行变异。很好!
返回;
}
}
}

const EnhancedComponent=logProps(WrappedComponent)IMO这是一种代码味道,即重用的组件需要是一个新组件。其他的选择可能是将组件的各个部分分解成一个新的组件,这样,如果存在明显的模式,它们就可以被重用React非常擅长的是重用性,所以我假设你做错了什么。最好发布一些代码来更好地解释您的问题。感谢您指出这一点!(我是新来的反应你对我的回答怎么看?这只是我的观点…)在你的回答中,基本上是描述了一种特殊的模式!:)谢谢你保证!我本来想加一个例子,但你的例子太完美了!反应太棒了!逻辑是合乎逻辑的!;)谢谢你的时间!